From bfba148f76c4bc7733c54b932a02f040491b5981 Mon Sep 17 00:00:00 2001 From: atlas Date: Sat, 4 Jul 2026 20:41:39 +0200 Subject: [PATCH 1/4] docs(ci): update CI workflow section to reflect 3-job layout --- docs/ci.md | 41 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/docs/ci.md b/docs/ci.md index 73da7583..2d119e38 100644 --- a/docs/ci.md +++ b/docs/ci.md @@ -110,24 +110,57 @@ to avoid provisioning collisions. ## CI workflow -The single CI job is defined in `.forgejo/workflows/ci.yml`: +Three jobs are defined in `.forgejo/workflows/ci.yml`: ```yaml name: CI on: pull_request: branches: ["**"] + # workflow_dispatch lets `hive-forge ci-rerun --pr N` retrigger without + # an empty commit. + workflow_dispatch: + jobs: check: name: nix flake check runs-on: [hive-ci] + timeout-minutes: 30 steps: - uses: actions/checkout@v3 - - name: check - run: nix flake check + - run: nix flake check + + tracker-tags: + name: tracker-tag lint + runs-on: [hive-ci] + timeout-minutes: 5 + steps: + - uses: actions/checkout@v3 + - run: sh scripts/check-issue-refs.sh + + comment-blocks: + name: comment-block lint + runs-on: [hive-ci] + timeout-minutes: 5 + steps: + - uses: actions/checkout@v3 + - run: sh scripts/check-comment-blocks.sh ``` -This runs on every PR, executing all flake checks (treefmt, rustfmt, cargo test, cargo clippy, module evaluation). No `--no-build`: the checks' derivations are the canonical source of truth. +- **`nix flake check`** — all flake checks: formatting (treefmt+rustfmt), + cargo test, cargo clippy, module evaluation, `hivectl-docs` freshness. + No `--no-build`: the check derivations are the canonical source of truth. + 30-minute wall-clock cap. +- **`tracker-tag lint`** — flags `#NNN` tracker references in non-markdown + source (hive convention: use prose in code, not tags). Non-blocking for + now (doesn't gate merge) while the legacy backlog is cleaned up. +- **`comment-block lint`** — flags contiguous comment blocks over 30 lines. + Prose belongs in `docs/`, not inline. Also non-blocking while the tree + settles. + +All three jobs run in parallel on each PR push. `hive-forge ci-rerun --pr N` +dispatches a fresh `workflow_dispatch` run without an empty commit — the +correct way to retry a transient CI failure. ## Security: unsandboxed builds and trusted contributors From 7ef90996f6edc5d48f1a5e004724e3d8834d25b4 Mon Sep 17 00:00:00 2001 From: atlas Date: Sat, 4 Jul 2026 20:55:28 +0200 Subject: [PATCH 2/4] docs(ci): replace YAML copy with link to .forgejo/workflows/ci.yml Per mara's feedback: don't copy the YAML inline, just reference the file. --- docs/ci.md | 37 +------------------------------------ 1 file changed, 1 insertion(+), 36 deletions(-) diff --git a/docs/ci.md b/docs/ci.md index 2d119e38..11e90780 100644 --- a/docs/ci.md +++ b/docs/ci.md @@ -110,42 +110,7 @@ to avoid provisioning collisions. ## CI workflow -Three jobs are defined in `.forgejo/workflows/ci.yml`: - -```yaml -name: CI -on: - pull_request: - branches: ["**"] - # workflow_dispatch lets `hive-forge ci-rerun --pr N` retrigger without - # an empty commit. - workflow_dispatch: - -jobs: - check: - name: nix flake check - runs-on: [hive-ci] - timeout-minutes: 30 - steps: - - uses: actions/checkout@v3 - - run: nix flake check - - tracker-tags: - name: tracker-tag lint - runs-on: [hive-ci] - timeout-minutes: 5 - steps: - - uses: actions/checkout@v3 - - run: sh scripts/check-issue-refs.sh - - comment-blocks: - name: comment-block lint - runs-on: [hive-ci] - timeout-minutes: 5 - steps: - - uses: actions/checkout@v3 - - run: sh scripts/check-comment-blocks.sh -``` +Three jobs are defined in [`.forgejo/workflows/ci.yml`](../.forgejo/workflows/ci.yml): - **`nix flake check`** — all flake checks: formatting (treefmt+rustfmt), cargo test, cargo clippy, module evaluation, `hivectl-docs` freshness. From 260dc7bb589d45f23eba988e3531e289fa3f0a74 Mon Sep 17 00:00:00 2001 From: atlas Date: Sat, 4 Jul 2026 20:57:57 +0200 Subject: [PATCH 3/4] docs(ci): drop bullet descriptions, keep only link + one-liner Per mara/argus feedback: no need to describe job contents inline, just link to the workflow file. --- docs/ci.md | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/docs/ci.md b/docs/ci.md index 11e90780..59a173ef 100644 --- a/docs/ci.md +++ b/docs/ci.md @@ -111,21 +111,9 @@ to avoid provisioning collisions. ## CI workflow Three jobs are defined in [`.forgejo/workflows/ci.yml`](../.forgejo/workflows/ci.yml): - -- **`nix flake check`** — all flake checks: formatting (treefmt+rustfmt), - cargo test, cargo clippy, module evaluation, `hivectl-docs` freshness. - No `--no-build`: the check derivations are the canonical source of truth. - 30-minute wall-clock cap. -- **`tracker-tag lint`** — flags `#NNN` tracker references in non-markdown - source (hive convention: use prose in code, not tags). Non-blocking for - now (doesn't gate merge) while the legacy backlog is cleaned up. -- **`comment-block lint`** — flags contiguous comment blocks over 30 lines. - Prose belongs in `docs/`, not inline. Also non-blocking while the tree - settles. - -All three jobs run in parallel on each PR push. `hive-forge ci-rerun --pr N` -dispatches a fresh `workflow_dispatch` run without an empty commit — the -correct way to retry a transient CI failure. +`nix flake check` (required), `tracker-tag lint`, and `comment-block lint`. The +lint jobs are non-blocking while the legacy backlog clears. `hive-forge ci-rerun +--pr N` dispatches a `workflow_dispatch` retrigger without an empty commit. ## Security: unsandboxed builds and trusted contributors From 9c3884e0315fc4b8293f87cb6174bb4e2fd0f128 Mon Sep 17 00:00:00 2001 From: atlas Date: Wed, 8 Jul 2026 23:38:59 +0200 Subject: [PATCH 4/4] docs(ci): lint jobs are required and block merge --- docs/ci.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/ci.md b/docs/ci.md index 59a173ef..f6b5bad6 100644 --- a/docs/ci.md +++ b/docs/ci.md @@ -111,9 +111,9 @@ to avoid provisioning collisions. ## CI workflow Three jobs are defined in [`.forgejo/workflows/ci.yml`](../.forgejo/workflows/ci.yml): -`nix flake check` (required), `tracker-tag lint`, and `comment-block lint`. The -lint jobs are non-blocking while the legacy backlog clears. `hive-forge ci-rerun ---pr N` dispatches a `workflow_dispatch` retrigger without an empty commit. +`nix flake check`, `tracker-tag lint`, and `comment-block lint`. All three are +required — a lint failure blocks merge. `hive-forge ci-rerun --pr N` dispatches +a `workflow_dispatch` retrigger without an empty commit. ## Security: unsandboxed builds and trusted contributors