Skip to content

CI and automation

Ahmet Burak Biçer edited this page Jun 30, 2026 · 2 revisions

CI and automation

Workflow Trigger Purpose
CI push / PR Restriction linter; pytest -m "not slow" on Py 3.9/3.11/3.12; performance vs base; Certificate of correctness artifact
Determinism push / PR Repeated serial/parallel trials + check_determinism.py
Auto-merge CI / Determinism completed Squash-merge same-repo PRs when tests + determinism (+ perf if present) are green
Prime of the day daily 12:00 UTC / manual Deterministic date→n challenge via lab(); upserts issue labeled prime-of-the-day
Issue agent issue opened Keyword answers + restrictions briefing + labels
PR agent PR open/sync Briefing, Copilot review request (best-effort), auto-approve same-repo PRs
Project autonomy issues / PRs Label kanban without a human-only lane
Publish wiki push to docs/wiki/** Deploy wiki site to GitHub Pages
Publish package release / manual GHCR container (Packages section)

Local commands

python3 scripts/check_restrictions.py
pytest -q -m "not slow"
pytest -q                                          # includes @pytest.mark.slow + Hypothesis
NUMBA_NUM_THREADS=2 python benchmarks/check_determinism.py
NUMBA_NUM_THREADS=$(nproc) python benchmarks/compare_speed.py
python is_prime.py --lab 9223372036854775783
python is_prime.py --lab --json 97

Auto-approve / auto-merge policy

  • Same-repository PRs may be auto-approved (PR agent) and auto-merged (Auto-merge) after green CI + Determinism.
  • Forks are not auto-approved or auto-merged.
  • Approval does not waive CI — gates stay on green checks.

Certificate of correctness

CI job Certificate of correctness re-runs restriction lint, fast pytest, and determinism, then uploads attestation.json (git SHA, run id, gate statuses).

Best-Prime-Number-Function

Wiki


Repository · Pages wiki

AI-designed project — review before production use.

Clone this wiki locally