Skip to content

docs(ops,quality): the smoke test these pages still describe was deleted before they were written - #122

Merged
lessevv merged 2 commits into
mainfrom
docs/the-smoke-this-page-still-describes
Sep 14, 2026
Merged

lessevv merged 2 commits into
mainfrom
docs/the-smoke-this-page-still-describes

Conversation

@lessevv

@lessevv lessevv commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

Two pages describe the release pipeline. Both describe three platform builds gated on "all three", and both describe a per-platform smoke test that "installs or extracts its bundle, launches it, asks its health endpoint, and compares the reported versions".

None of that is the pipeline.

The counts

  • Four platform builds, not three — Android joined 2026-08-17 (beatrax#234).
  • publish declares five dependencies: needs: [build-macos, build-windows, build-linux, build-android, smoke-server]. The fifth is a self-host smoke job added 2026-09-05 (beatrax#374).

Neither change reached either page. "Nothing is published — the publish step requires all three" is the sentence an operator reads when four builds are green and publish never ran.

The launch-and-probe is older than a drift

Per-platform smoke probes existed for one day. In on 2026-05-28 (1c184c5, "per-platform smoke probes"), out the same day (8dd6811, "drop smoke-test steps from release.yml") — quoting that commit: the Linux runner has no display server, the Windows runner loses the silent-install-to-GUI-launch race, and macOS trips ad-hoc-signing friction on open -a.

70-operations/releasing.md was written two months later, on 2026-07-27, in the founding commit. It documented the shape that existed that morning rather than the one that survived the afternoon — so this half has never been true of the pipeline it describes.

What the platform builds actually do is interrogate the artifact they produced: signing identity, forbidden contents, and the update manifest written beside it. What is launched and probed is the self-host recipe, the one shape CI can run end to end.

Two files, because a diagram outlives the prose

40-quality/ci-cd.md holds the same three errors as an ASCII drawing of the pipeline. A diagram is read more readily than the prose beside it and checked less often, so the wrong shape survives longer there. Both are corrected, and verify what was published is drawn rather than left off the end.

40-quality/tooling.md also says three platform runners and is right to — it describes desktop packaging, and the fourth build is mobile. Left alone.

Why these pages, of all pages

releasing.md already asks, on its own pre-tag checklist, whether the ruleset's required checks "still name the jobs that actually run" (OPS-R18) — because a renamed job silently stops being required. Its own list of jobs had gone stale the same way.

One thing deliberately not changed

OPS-R5 — "Every platform build MUST pass its smoke test before the publish step runs."

The rule is defined once and elaborated nowhere else in the spec; the only gloss on it was the step this PR corrects. With no platform build launching anything, OPS-R5 either wants restating against what a build now verifies, or it stands as a requirement the pipeline does not meet and cannot meet on hosted runners. That is a decision about the rule, not about these pages, so OPS-R5 is untouched and flagged for a separate call.


Descriptions only — no rule added, removed, renumbered or reworded. integrity.py clean, markdownlint clean.

…e it was written

"What the pipeline does" describes three platform builds, "each installing or
extracting its bundle, launching it, asking its health endpoint, and comparing
the reported versions before upload", and a publish step gated on all three.

None of that is the pipeline. There are four platform builds — Android joined
on 2026-08-17 — and publish declares five dependencies, the fifth being a
self-host smoke job added on 2026-09-05. Neither change reached this page.

The launch-and-probe is older than a drift. Per-platform smoke probes existed
for one day: they went in on 2026-05-28 and came out the same day, because a
hosted runner cannot start these bundles — the Linux runner has no display
server, the Windows runner loses the silent-install to GUI-launch race, and
macOS trips ad-hoc-signing friction on `open`. This page was written two months
later, on 2026-07-27, and described the morning shape rather than the one that
survived the afternoon. What the platform builds actually do is interrogate the
artifact they produced: signing identity, forbidden contents, and the manifest
written beside it. What is launched and probed is the self-host recipe, which is
the one shape CI can run.

The page already asks, on its own checklist, whether the ruleset's required
checks still name the jobs that actually run (OPS-R18), on the grounds that a
renamed job silently stops being required. Its own list of jobs had gone stale
the same way.

Verify-published is added to the list for the same reason: it is the step that
re-reads the manifests and the checksum file off the release page and re-checks
every signature, and the page's "verify the signed manifest by hand" item is
easier to read next to it.

This commit changes the description only. Whether OPS-R5 — "Every platform build
MUST pass its smoke test before the publish step runs" — still says what it
should, now that no platform build launches anything, is a question for the
rule and not for this page.

Signed-off-by: Wessel Verheij <info@nightworks.io>
@github-actions github-actions Bot added documentation Docs only operations awaiting-maintainer Green PR with no review — a maintainer needs to act labels Sep 14, 2026
`40-quality/ci-cd.md` carries an ASCII drawing of the release pipeline holding
the same three errors as `70-operations/releasing.md`: three platform builds
rather than four, a publish gated on "all three" rather than on five, and a
per-platform smoke test — "install or extract, launch, ask the health endpoint,
compare the reported versions" — that was removed on the day it was added,
because a hosted runner cannot launch these bundles.

A diagram is read more readily than the prose beside it and checked less often,
so the same wrong shape survives longer here. Corrected to match: what each
platform build checks is the artifact it produced, what gets launched and probed
is the self-host recipe, and the verify-published step is drawn rather than left
off the end.

`40-quality/tooling.md` also says three platform runners, and is right to: it is
describing desktop packaging, and the fourth build is mobile. Left alone.

Signed-off-by: Wessel Verheij <info@nightworks.io>
@lessevv lessevv changed the title docs(ops): the smoke test this page still describes was deleted before it was written docs(ops,quality): the smoke test these pages still describe was deleted before they were written Sep 14, 2026
@sonarqubecloud

Copy link
Copy Markdown

@lessevv
lessevv merged commit f0325ce into main Sep 14, 2026
19 of 21 checks passed
@lessevv
lessevv deleted the docs/the-smoke-this-page-still-describes branch September 14, 2026 15:21
@github-actions github-actions Bot added awaiting-maintainer Green PR with no review — a maintainer needs to act and removed awaiting-maintainer Green PR with no review — a maintainer needs to act labels Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-maintainer Green PR with no review — a maintainer needs to act documentation Docs only operations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant