Repository navigation
chore(deps-dev): Bump the python group with 5 updates #102
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| # The checks, the differential tests, and from what those tests ran, the compatibility proof | |
| # (tests/compat.py). The proof must reproduce in CI within five minutes, which the timeout holds it to. | |
| check: | |
| runs-on: blacksmith-4vcpu-ubuntu-2404 | |
| timeout-minutes: 5 | |
| services: | |
| postgres: | |
| image: postgres:17 | |
| env: | |
| POSTGRES_PASSWORD: postgres | |
| ports: ["5432:5432"] | |
| options: >- | |
| --health-cmd pg_isready --health-interval 2s --health-timeout 5s --health-retries 30 | |
| env: | |
| ZERO_SERVER_PG: postgresql://postgres:postgres@localhost:5432 | |
| steps: | |
| - uses: useblacksmith/checkout@25227e61ff9dafe400e22fa487b673eac4e4409a # v1 | |
| with: | |
| persist-credentials: false | |
| - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 | |
| with: | |
| python-version: "3.12" | |
| - uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 | |
| with: | |
| node-version: "24" | |
| # The differential tests run the published @rocicorp/zero package as their oracle. | |
| - run: npm ci | |
| working-directory: harness | |
| - run: uv sync --locked --group e2e | |
| - run: uv run ruff check | |
| - run: uv run ruff format --check | |
| - run: uv run ty check | |
| - run: uv run pytest | |
| - run: uv run python -m tests.compat | |
| - if: failure() | |
| uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 | |
| with: | |
| name: compat-coverage | |
| if-no-files-found: ignore | |
| path: | | |
| harness/build/c8/ | |
| harness/runner.log | |
| # The suite again with every direct dependency at the lowest version pyproject.toml allows, so a floor | |
| # is never lower than what has been tested. | |
| floors: | |
| runs-on: ubuntu-latest | |
| services: | |
| postgres: | |
| image: postgres:17 | |
| env: | |
| POSTGRES_PASSWORD: postgres | |
| ports: ["5432:5432"] | |
| options: >- | |
| --health-cmd pg_isready --health-interval 2s --health-timeout 5s --health-retries 30 | |
| env: | |
| ZERO_SERVER_PG: postgresql://postgres:postgres@localhost:5432 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 | |
| with: | |
| python-version: "3.12" | |
| - uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 | |
| with: | |
| node-version: "24" | |
| - run: npm ci | |
| working-directory: harness | |
| - run: uv sync --resolution lowest-direct | |
| - run: uv run --no-sync pytest --no-cov | |
| # An unmodified Zero client syncing through zero-cache, once with the TypeScript reference app server | |
| # and once with the Python one. Fails on any difference in what the client ends up with. | |
| e2e: | |
| runs-on: blacksmith-4vcpu-ubuntu-2404 | |
| steps: | |
| - uses: useblacksmith/checkout@25227e61ff9dafe400e22fa487b673eac4e4409a # v1 | |
| with: | |
| persist-credentials: false | |
| - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 | |
| with: | |
| python-version: "3.12" | |
| - uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 | |
| with: | |
| node-version: "24" | |
| - run: npm ci | |
| working-directory: e2e | |
| - run: uv sync --locked --group e2e | |
| - run: uv run --group e2e python -u e2e/run.py | |
| - if: always() | |
| uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 | |
| with: | |
| name: e2e-logs | |
| path: e2e/build/ | |
| # The CPU-only benchmarks, Python (bench/test_cpu.py) and TypeScript (harness/bench/cpu.ts), under | |
| # CodSpeed's CPU simulation. Instruction counts do not depend on runner load, so CodSpeed's check on | |
| # the pull request flags a regression without tolerances. | |
| codspeed: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 8 | |
| permissions: | |
| contents: read | |
| id-token: write | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 | |
| with: | |
| python-version: "3.12" | |
| - uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 | |
| with: | |
| node-version: "24" | |
| cache: npm | |
| cache-dependency-path: harness/package-lock.json | |
| - run: npm ci | |
| working-directory: harness | |
| - run: uv sync --locked | |
| - uses: CodSpeedHQ/action@821a40cd6c80e3cfe387caf55668287addd808da # v5.5.0 | |
| with: | |
| mode: simulation | |
| run: uv run --no-sync pytest bench --codspeed --no-cov && node harness/bench/cpu.ts | |
| # Every case on the wall clock, TypeScript and Python alternating on one runner: the real gap to npm. | |
| # Report only: the ratio table lands in the job summary and never fails the build. | |
| bench: | |
| name: bench (${{ matrix.name }}) | |
| runs-on: blacksmith-4vcpu-ubuntu-2404 | |
| timeout-minutes: 8 | |
| continue-on-error: true | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: cpu | |
| groups: query,query_json,build,map,parse,parse_json,mutate_cpu,z2s,startup | |
| - name: postgres | |
| groups: run,mutate,pushproc | |
| services: | |
| postgres: | |
| image: postgres:17 | |
| env: | |
| POSTGRES_PASSWORD: postgres | |
| ports: ["5432:5432"] | |
| options: >- | |
| --health-cmd pg_isready --health-interval 2s --health-timeout 5s --health-retries 30 | |
| env: | |
| ZERO_SERVER_PG: postgresql://postgres:postgres@localhost:5432 | |
| steps: | |
| - uses: useblacksmith/checkout@25227e61ff9dafe400e22fa487b673eac4e4409a # v1 | |
| with: | |
| persist-credentials: false | |
| - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 | |
| with: | |
| python-version: "3.12" | |
| - uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 | |
| with: | |
| node-version: "24" | |
| - run: npm ci | |
| working-directory: harness | |
| - run: uv sync --locked | |
| - run: uv run python -m bench --groups ${{ matrix.groups }} | |
| - if: always() | |
| run: cat bench/build/report.md >> "$GITHUB_STEP_SUMMARY" || true | |
| - if: always() | |
| uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 | |
| with: | |
| name: bench-${{ matrix.name }} | |
| if-no-files-found: ignore | |
| path: | | |
| bench/build/results.json | |
| bench/build/report.md |