1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- name: check-outdated-dependencies
- 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.10"
- 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.10.16"
- 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: 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
|