Skip to content

Phase 6: z2s and tx.run #9

Phase 6: z2s and tx.run

Phase 6: z2s and tx.run #9

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
defaults:
run:
shell: bash
jobs:
check:
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_PYTHON_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"
# 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
# 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: ubuntu-latest
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: 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/