Skip to content

Release Checklist Phase 2 CI Integrations

github-actions[bot] edited this page Oct 7, 2026 · 2 revisions

Phase-2 Release Checklist (CI Integrations)

This is the go/no-go gate before assigning/re-pointing v1 for the GitHub action and publishing the GitLab template.

Gate executed: 2026-06-24

1) Core/package integrity

  • python3 -m pip install -U pip
  • python3 -m pip install -e '.[dev]'
  • python3 -m build
  • uqo run --help

2) Core contract suites

  • python3 -m pytest -q --no-cov tests/unit/testo_core/test_cli_run.py tests/unit/testo_core/test_headless_engine.py tests/contract/testo_core/test_cli_contract.py → passed
  • python3 -m pytest -q --no-cov tests/unit/testo_core/test_repository_sqlite.py tests/unit/testo_core/test_repository_factory.py tests/contract/testo_core/test_repository_contract.py → 18 passed

3) CI integration suites

  • python3 -m pytest -q --no-cov tests/unit/ci/test_github_action_wrapper.py tests/unit/ci/test_gitlab_template_contract.py tests/contract/ci/test_wrapper_contract.py → 11 passed
  • python3 -m pytest -q --no-cov tests/integration/test_runner_image_mode_smoke.py → 1 passed

4) Documentation and adoption checks

  • README contains:
    • GitHub Action quickstart
    • GitLab template quickstart
    • required variables/secrets
    • troubleshooting section
  • Copy snippets to a scratch project and confirm they require only documented variables. (deferred — requires external repo setup)

5) Action versioning checks (ariel-evn/uqo-action)

  • Confirm action.yml is at the action repository root. (deferred — requires ariel-evn/uqo-action repo access)
  • Create immutable tag v1.0.0.
  • Move major tag v1 to the same commit.
  • Re-verify consumer workflow resolves uses: ariel-evn/uqo-action@v1.

6) Runner image release checks (uqo-runner)

  • docker buildx build --load -f Dockerfile.testo-runner -t uqo-runner:rc . → built successfully
  • docker run --rm uqo-runner:rc run --help → shows usage
  • UQO_RUNNER_IMAGE=uqo-runner:rc UQO_RUNNER_PREBUILT=true python3 -m pytest -q --no-cov tests/integration/test_runner_image_mode_smoke.py (requires Docker-in-test env var wiring)
  • python3 scripts/ci/compare_runner_latency.py ... (requires baseline/candidate metrics artifacts)

7) Final pass criteria

  • All commands above exit with 0.
  • No unversioned changes to SUMMARY_SCHEMA_KEYS or NDJSON event types.
  • No CI-provider conditionals were added to repository adapters/factory/DB wiring.
  • Runner image path shows no runtime dependency install command in smoke logs.
  • Image pull/auth failures classify as infra failure (exit_code=3) in summary.

8) Tiered E2E gate criteria

  • Fast required gate command:
    • python -m pytest -q -m "tier_fast and not quarantined" --maxfail=1 --no-cov → 374 passed, 4 skipped, 28 deselected
    • Pass threshold: 100% pass, deterministic rerun, zero cleanup ledger failures.
  • Heavy optional gate command:
    • python -m pytest -q -m "tier_heavy and not tier_external" --maxfail=1 --durations=25 → 25 passed, 381 deselected
    • Pass threshold: 100% pass for executed scenarios and diagnostics artifacts available on failure.
  • External nightly/release gate command:
    • python -m pytest -q -m "tier_external and cleanup_required" --maxfail=1 --durations=50 (requires external CI integrations)
    • Pass threshold: 100% pass for GitHub+GitLab lifecycle scenarios.

Generated from docs/Archive/Release Checklist - Phase 2 CI Integrations.md. Edit it there; changes made in the wiki are overwritten.

Clone this wiki locally