name: nightly-full-pytest # Slow/soak lane — the heavyweight registry excluded from post-merge full-pytest. # Runs on a schedule so it cannot starve PR smoke / lane-shas on the single # self-hosted Act runner. # # Manual: Actions → nightly-full-pytest → Run workflow. on: schedule: # 06:00 UTC daily — adjust if runner is shared with other heavy jobs. - cron: "0 6 * * *" workflow_dispatch: permissions: contents: read concurrency: group: nightly-full-pytest cancel-in-progress: true jobs: pytest-slow: name: nightly full (not quarantine, includes slow) runs-on: ubuntu-latest timeout-minutes: 120 steps: - name: checkout uses: actions/checkout@v4 with: fetch-depth: 1 ref: main - name: set up uv uses: astral-sh/setup-uv@v5 with: python-version: '3.12.13' enable-cache: true - name: install dependencies run: | uv pip install -e ".[dev]" pyyaml - name: pytest full including slow registry env: PYTHONPATH: ${{ github.workspace }} CORE_SHOWCASE_SKIP_BUDGET: "1" UV_LINK_MODE: copy run: | # Single worker on 2‑vCPU host avoids xdist thrash with 16 min fixtures. uv run pytest -m "not quarantine" -n 1 --tb=short -q --maxfail=20