Fixed outdated transitive deps in primary lockfile #7503
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: webviz | |
| permissions: | |
| contents: read | |
| on: | |
| push: | |
| pull_request: | |
| branches: | |
| # Keep in sync with protected branches in repository settings | |
| - main | |
| - "**/main" | |
| release: | |
| types: | |
| - published | |
| jobs: | |
| frontend: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: 📖 Checkout commit locally | |
| uses: actions/checkout@v3 | |
| - uses: actions/setup-node@v3 | |
| with: | |
| node-version: 24 | |
| cache: npm | |
| cache-dependency-path: frontend/package-lock.json | |
| - name: ℹ️ Node and npm versions | |
| run: | | |
| node -v | |
| npm -v | |
| - name: 📦 Install build dependencies | |
| working-directory: ./frontend | |
| run: | | |
| npm ci --include=dev | |
| - name: ℹ️ Installed npm packages (depth = 0) | |
| working-directory: ./frontend | |
| run: npm list --depth=0 | |
| - name: 🏗️ Build JavaScript bundle | |
| working-directory: ./frontend | |
| run: npm run build | |
| - name: 🕵️ Check code style, linting & dependencies | |
| working-directory: ./frontend | |
| run: | | |
| npm run validate | |
| - name: Install Playwright Browsers | |
| working-directory: ./frontend | |
| run: | | |
| npx playwright install --with-deps | |
| - name: 🤖 Run unit tests | |
| working-directory: ./frontend | |
| run: | | |
| npm run test:unit | |
| - name: 🤖 Run component tests | |
| working-directory: ./frontend | |
| run: | | |
| npm run test:ct | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: playwright-report | |
| path: playwright-report/ | |
| retention-days: 30 | |
| - name: 🕵️ Check auto-generated frontend code is in sync with backend | |
| run: | | |
| docker build -f ./backend_py/primary/Dockerfile -t backend:latest . | |
| CONTAINER_ID=$(docker run --detach -p 5000:5000 --env UVICORN_PORT=5000 --env WEBVIZ_SKIP_LIFESPAN_GENERATE_API_ONLY=true --env WEBVIZ_CLIENT_SECRET=0 --env WEBVIZ_SMDA_SUBSCRIPTION_KEY=0 --env WEBVIZ_VDS_HOST_ADDRESS=0 --env WEBVIZ_ENTERPRISE_SUBSCRIPTION_KEY=0 --env WEBVIZ_SESSION_STORE_FERNET_KEY=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= --env WEBVIZ_REDIS_AUTH_STORE_PASSWORD=0 --env WEBVIZ_REDIS_CACHE_PASSWORD=0 backend:latest) | |
| trap "echo '--- Trap showing Docker container logs ---'; docker logs $CONTAINER_ID; docker stop $CONTAINER_ID" EXIT | |
| sleep 10 # Ensure the backend server is up and running exposing /openapi.json | |
| curl --retry 10 --retry-delay 2 --retry-connrefused --retry-all-errors -f http://localhost:5000/alive | |
| npm run generate:api --prefix ./frontend | |
| git diff --exit-code ./frontend/src/api || exit 1 | |
| - name: 🕵️ Check ModuleSerializedStateMap is up to date | |
| working-directory: ./frontend | |
| run: | | |
| npm run generate:module-states-map | |
| git diff --exit-code src/modules/ModuleSerializedStateMap.ts || exit 1 | |
| backend_py: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 📖 Checkout commit locally | |
| uses: actions/checkout@v3 | |
| - name: 🐍 Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.13" | |
| cache: pip | |
| - name: 📦 Install poetry and check dependency locks | |
| working-directory: ./backend_py | |
| run: | | |
| set -x | |
| pip install --upgrade pip | |
| pip install poetry==2.4.1 | |
| poetry config virtualenvs.create false | |
| # Changes in path-dependency locks do not get picked up during the check, so we need to | |
| # verify that each lock is as recent as possible and check that each lock file is | |
| # correctly generated | |
| scripts/poetry-regenerate-lock-files.sh | |
| git diff --exit-code || exit 1 | |
| # Check that lock files are consistent with pyproject.toml | |
| poetry check --lock | |
| poetry check --lock --directory=./libs/core_utils | |
| poetry check --lock --directory=./libs/server_schemas | |
| poetry check --lock --directory=./libs/services | |
| poetry check --lock --directory=./primary | |
| poetry check --lock --directory=./user_grid3d_ri | |
| # Install our repo tooling (mypy, pylint, etc.) | |
| poetry install | |
| - name: 🕵️ Check formatting and security | |
| working-directory: ./backend_py | |
| run: | | |
| set -x | |
| black --check . | |
| bandit --recursive primary/ libs/ user_grid3d_ri/ --exclude tests | |
| - name: 🕵️ Check linting & typing for primary | |
| working-directory: ./backend_py | |
| run: | | |
| set -x | |
| (cd primary && poetry install) | |
| scripts/pylint-primary-all.sh | |
| scripts/mypy-primary-all.sh | |
| - name: 🤖 Run tests for primary | |
| working-directory: ./backend_py/primary | |
| env: | |
| WEBVIZ_CLIENT_SECRET: 0 | |
| WEBVIZ_SMDA_SUBSCRIPTION_KEY: 0 | |
| WEBVIZ_VDS_HOST_ADDRESS: 0 | |
| WEBVIZ_ENTERPRISE_SUBSCRIPTION_KEY: 0 | |
| run: | | |
| pytest ./tests/unit | |
| - name: 🕵️ Check linting & typing for user_grid3d_ri | |
| working-directory: ./backend_py | |
| run: | | |
| set -x | |
| (cd user_grid3d_ri && poetry install) | |
| scripts/pylint-user-grid3d-ri-all.sh | |
| scripts/mypy-user-grid3d-ri-all.sh | |
| backend_go: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Setup Go | |
| uses: actions/setup-go@v3 | |
| with: | |
| go-version: "1.23.x" | |
| - name: Install dependencies | |
| working-directory: ./backend_go/surface_query | |
| run: | | |
| go get . | |
| - name: Test with Go | |
| working-directory: ./backend_go/surface_query | |
| run: | | |
| go test ./... | |
| build_docker_images: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 📖 Checkout commit locally | |
| uses: actions/checkout@v3 | |
| - uses: actions/setup-node@v3 | |
| with: | |
| node-version: 24 | |
| - name: 🐳 Verify Docker images build | |
| run: | | |
| docker build -f frontend-prod.Dockerfile . | |
| docker build -f ./backend_py/primary/Dockerfile . |