forked from heavy-duty/ceremony
drill 0.6.0: the scratch repo, the candidate ref, and probe 2
This commit is contained in:
parent
fb8f8282a9
commit
24b69aea8e
1 changed files with 57 additions and 6 deletions
|
|
@ -46,23 +46,74 @@ So this release owes the disposable-repo rehearsal, and this record is it.
|
||||||
|
|
||||||
## Where
|
## Where
|
||||||
|
|
||||||
_Pending — the scratch repo's full `owner/name` and its disposal state as
|
Disposable **private** repo `cndgrr/ceremony-drill-0.6.0`, created
|
||||||
observed by this record's author are written here when the rehearsal runs._
|
2026-08-05T00:02:58Z. It carries the `docs/CONSUMERS.md` release caller
|
||||||
|
verbatim (`version-source: file`) over a fragment-mode fixture armed at
|
||||||
|
`0.6.0-dev`: a preamble-only `CHANGELOG.md`, `changelog.d/README.md` plus
|
||||||
|
one fragment, and a non-blank `drills/0.6.0.md`. The `release` label was
|
||||||
|
created there before the first ceremony PR, per the guide's prerequisite.
|
||||||
|
|
||||||
|
_Disposal state is written below when the rehearsal ends, as this record's
|
||||||
|
author observes it — never as an intention._
|
||||||
|
|
||||||
## Candidate-ref deviation
|
## Candidate-ref deviation
|
||||||
|
|
||||||
_Pending — the fork ref carrying the candidate tree and the canonical
|
The pure consumer path cannot resolve this candidate's
|
||||||
candidate SHA its `CEREMONY_SELF_REF` carriers are rewritten to._
|
`CEREMONY_SELF_REF: "0.6.0"`: that tag is the one this release has not
|
||||||
|
created yet. No `0.6.0` branch was created on `heavy-duty/ceremony`.
|
||||||
|
|
||||||
|
The scratch caller instead pins `cndgrr/ceremony/.github/workflows/release.yml@drill/0.6.0`.
|
||||||
|
That fork ref's parent is the canonical candidate SHA
|
||||||
|
`fb8f8282a9e7b317d4d028f8e8da50501a882d14`, and its one additional commit
|
||||||
|
(`775b4d1f6485ebdde924979ac2dce536643c6071`) rewrites all three
|
||||||
|
`CEREMONY_SELF_REF` carriers — `release.yml`, `labels.yml`,
|
||||||
|
`labels-sweep.yml` — to that same SHA. All runtime machinery in every probe
|
||||||
|
below was therefore fetched from the 0.6.0 candidate tree.
|
||||||
|
|
||||||
|
Commits pushed to the candidate after `fb8f828` are this record only; the
|
||||||
|
release path (`.github/scripts/release-path.sh`) is byte-identical at the
|
||||||
|
canonical SHA and at the final head.
|
||||||
|
|
||||||
## Probes
|
## Probes
|
||||||
|
|
||||||
_Pending — one row per probe, written from its run, never before it._
|
One row per probe, written from its run. Runs are in
|
||||||
|
`cndgrr/ceremony-drill-0.6.0`.
|
||||||
|
|
||||||
| # | probe | run | result |
|
| # | probe | run | result |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| 1 | merge-door ceremony | — | — |
|
| 1 | merge-door ceremony | — | — |
|
||||||
| 2 | mislabeled ordinary PR | — | — |
|
| 2 | mislabeled ordinary PR | 30991634654 | ✅ green NOTICE no-op; no tag, no release |
|
||||||
| 3 | bare-version PR without `release` | — | — |
|
| 3 | bare-version PR without `release` | — | — |
|
||||||
| 4 | re-run completed ceremony | — | — |
|
| 4 | re-run completed ceremony | — | — |
|
||||||
| 5 | manual matching tag | — | — |
|
| 5 | manual matching tag | — | — |
|
||||||
| 6 | mismatched tag | — | — |
|
| 6 | mismatched tag | — | — |
|
||||||
|
|
||||||
|
### Probe 2 — a mislabeled ordinary PR
|
||||||
|
|
||||||
|
PR #2 (`probe2b-mislabeled`) added one changelog fragment and touched no
|
||||||
|
version. The `release` label was applied through
|
||||||
|
`POST /repos/{owner}/{repo}/issues/2/labels` and confirmed present before
|
||||||
|
the merge. The merge run decided row 1 of the table and published nothing:
|
||||||
|
|
||||||
|
```text
|
||||||
|
VER: 0.6.0-dev
|
||||||
|
BASE_VER: 0.6.0-dev
|
||||||
|
RELEASED:
|
||||||
|
LABELED:
|
||||||
|
NOTICE: the version '0.6.0-dev' is -dev and unchanged by this PR — release-flow work under the release label, not a ceremony. Nothing to publish.
|
||||||
|
ceremony=no
|
||||||
|
```
|
||||||
|
|
||||||
|
`RELEASED` and `LABELED` are empty on purpose — the `-dev` rows never
|
||||||
|
consult them, which is precisely why the label alone cannot ship anything.
|
||||||
|
Notes, the nothing-exists assert, tag, artifact hook, publish and bump all
|
||||||
|
skipped; `GET /tags` and `GET /releases` were both empty afterwards.
|
||||||
|
|
||||||
|
An earlier merge (PR #1, run 30991571096) was intended as this probe but
|
||||||
|
landed **unlabeled**: `gh pr edit --add-label` failed against this repo's
|
||||||
|
projects-classic GraphQL surface, and the merge went ahead before the
|
||||||
|
failure was read. That run is a green no-op too, but it is not evidence for
|
||||||
|
this probe — an unlabeled ordinary merge proves less than a labeled one —
|
||||||
|
so the probe was re-run as PR #2 with the label applied through the REST
|
||||||
|
endpoint and verified before merging. Recorded here because the run exists
|
||||||
|
in the repo's history and a reader will find it.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue