diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index e159cd2..feb32ae 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -8,16 +8,15 @@ name: CI on: push: - branches: ["**"] pull_request: branches: [main] workflow_dispatch: jobs: ci: - runs-on: ubuntu-latest + runs-on: node steps: - - name: fetch (probe: stock actions/checkout@v4) + - name: "fetch (probe: stock actions/checkout@v4)" id: actfetch continue-on-error: true uses: actions/checkout@v4 @@ -76,4 +75,4 @@ jobs: bash scripts/run_platform.sh --check-only contracts/static-assets.yml echo "check-only: OK" - name: summary - run: echo "=== CI stages complete: lint, test, check-only ===" + run: 'echo "=== CI stages complete: lint, test, check-only ==="' diff --git a/docs/ci.md b/docs/ci.md new file mode 100644 index 0000000..f38fb95 --- /dev/null +++ b/docs/ci.md @@ -0,0 +1,26 @@ +# Continuous integration - nova-platform + +**TL;DR -** Every push and every pull request to `main` runs the CI +workflow (`.gitea/workflows/ci.yml`). It is the offline mirror of +`scripts/run_ci.sh`: lint, test, check-only. A leg that cannot run fails +loud - nothing skipped is reported as passed. + +**What** - + +- **lint** - `python3 -m py_compile` over `core/`, `adapters/`, `scripts/` + (stdlib only, always runs). +- **test** - `pytest tests/ -q -m "not shell"`, with the test dependencies + from `requirements-test.txt` installed first when pypi is reachable; a + missing toolchain fails the leg with its absence list. +- **check-only** - `bash scripts/run_platform.sh --check-only + contracts/static-assets.yml` (needs `yaml` + `jsonschema`). + +**Why** - the line shipped without a pipeline, so every change went out +ungated. The workflow runs the same three legs as the local script, so a +green local run and a green pipeline mean the same thing. + +**Action** - none - FYI. The pipeline was ordered under +`coreci/nova-platform#3`; the workflow itself landed in PR #6. + +**Details** - local equivalent: `bash scripts/run_ci.sh`. Run history: +the repository's Actions tab.