12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- name: check-outdated-dependencies
- permissions:
- contents: read
- on:
- push: # This will trigger the action when a pull request is opened or updated.
- branches:
- - "release/**" # This will trigger the action when any branch starting with "release/" is created.
- workflow_dispatch: # Allow manual triggering if needed.
- jobs:
- backend:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v3
- - uses: ./.github/actions/setup_build_env
- with:
- python-version: 3.13
- run-uv-sync: true
- - name: Check outdated backend dependencies
- run: |
- outdated=$(uv pip list --outdated)
- echo "Outdated:"
- echo "$outdated"
- filtered_outdated=$(echo "$outdated" | grep -vE 'pyright|ruff' || true)
- if [ ! -z "$filtered_outdated" ]; then
- echo "Outdated dependencies found:"
- echo "$filtered_outdated"
- exit 1
- else
- echo "All dependencies are up to date. (pyright and ruff are ignored)"
- fi
- frontend:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- - uses: ./.github/actions/setup_build_env
- with:
- python-version: 3.13
- run-uv-sync: true
- - name: Clone Reflex Website Repo
- uses: actions/checkout@v4
- with:
- repository: reflex-dev/reflex-web
- ref: main
- path: reflex-web
- - name: Compile pyproject.toml into requirements.txt
- working-directory: ./reflex-web
- run: uv pip compile pyproject.toml --no-annotate --no-header --no-deps --output-file requirements.txt
- - name: Install Requirements for reflex-web
- working-directory: ./reflex-web
- run: uv pip install $(grep -ivE "reflex " requirements.txt)
- - name: Init Website for reflex-web
- working-directory: ./reflex-web
- run: uv run reflex init
- - name: Run Website and Check for errors
- run: |
- uv run bash scripts/integration.sh ./reflex-web dev
- - name: Check outdated frontend dependencies
- working-directory: ./reflex-web/.web
- run: |
- raw_outdated=$(/home/runner/.local/share/reflex/bun/bin/bun outdated)
- outdated=$(echo "$raw_outdated" | grep -vE '\|\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\|' || true)
- echo "Outdated:"
- echo "$outdated"
- # Ignore 3rd party dependencies that are not updated.
- filtered_outdated=$(echo "$outdated" | grep -vE 'Package|@chakra-ui|lucide-react|@splinetool/runtime|ag-grid-react|framer-motion|react-markdown|remark-math|remark-gfm|rehype-katex|rehype-raw|remark-unwrap-images|ag-grid' || true)
- no_extra=$(echo "$filtered_outdated" | grep -vE '\|\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-' || true)
- if [ ! -z "$no_extra" ]; then
- echo "Outdated dependencies found:"
- echo "$filtered_outdated"
- exit 1
- else
- echo "All dependencies are up to date. (3rd party packages are ignored)"
- fi
|