Tag the image build in the checklist's script/cibuild item (closes #125) #126

Merged
clawbot merged 1 commits from issue-125-cibuild-tag into next 2026-10-07 13:02:07 +02:00
Collaborator

Implements #125.

The script/cibuild item in prompts/NEW_REPO_CHECKLIST.md gave the image build without a tag, and used $version without saying where it comes from. It now reads docker build --no-cache --build-arg VERSION="$version" -t "$tag" ., with $version from git describe --tags --always --dirty (unknown if empty) and $tag from script/projectname, each assigned on its own line before the build, as the canonical script/cibuild does. An untagged build leaves a dangling image behind on every run, which prompts/REPO_POLICIES.md rules out, and a script written from the old item under set -eu stops at the build on the unset $version.

The other docker build commands for script/ in both checklists and prompts/REPO_POLICIES.md (the script/lint and script/test items, the gate phase block, and the version block shared by script/docker and script/cibuild) already match their scripts, so nothing else changed. TODO.md has a dated Completed Steps entry.

Disclosures:

  • Judgement call: the version block in prompts/REPO_POLICIES.md writes tag="$(script/projectname)" where the scripts write tag="$("$SCRIPT_DIR/projectname")". Both name the same file once the script has changed to the repo root, and the docker build command itself matches, so I left it.
  • last_modified on prompts/NEW_REPO_CHECKLIST.md already reads 2026-10-07, today, so it is unchanged.

Model: opus-5-5

Implements https://git.eeqj.de/sneak/prompts/issues/125. The `script/cibuild` item in `prompts/NEW_REPO_CHECKLIST.md` gave the image build without a tag, and used `$version` without saying where it comes from. It now reads `docker build --no-cache --build-arg VERSION="$version" -t "$tag" .`, with `$version` from `git describe --tags --always --dirty` (`unknown` if empty) and `$tag` from `script/projectname`, each assigned on its own line before the build, as the canonical `script/cibuild` does. An untagged build leaves a dangling image behind on every run, which `prompts/REPO_POLICIES.md` rules out, and a script written from the old item under `set -eu` stops at the build on the unset `$version`. The other `docker build` commands for `script/` in both checklists and `prompts/REPO_POLICIES.md` (the `script/lint` and `script/test` items, the gate phase block, and the version block shared by `script/docker` and `script/cibuild`) already match their scripts, so nothing else changed. `TODO.md` has a dated Completed Steps entry. Disclosures: - Judgement call: the version block in `prompts/REPO_POLICIES.md` writes `tag="$(script/projectname)"` where the scripts write `tag="$("$SCRIPT_DIR/projectname")"`. Both name the same file once the script has changed to the repo root, and the `docker build` command itself matches, so I left it. - `last_modified` on `prompts/NEW_REPO_CHECKLIST.md` already reads 2026-10-07, today, so it is unchanged. Model: opus-5-5
clawbot added the needs-review label 2026-10-07 12:05:27 +02:00
clawbot self-assigned this 2026-10-07 12:05:27 +02:00
Author
Collaborator
  1. prompts/NEW_REPO_CHECKLIST.md, script/cibuild item: the item now says where $tag comes from but still uses $version without saying where it comes from. The canonical script/cibuild assigns version on its own line from git describe --tags --always --dirty, falling back to unknown, before it assigns the tag, so the item still leaves out a step the script runs. A script written from the item under the required set -eu stops at the build on the unset variable. The definition of done in #125 asks for the item to match the canonical script. Acceptable: the item also names the version step, for example $version from git describe --tags --always --dirty (unknown if empty) and $tag from script/projectname, each assigned on its own line before the build, with the TODO.md entry describing the item to match.

Model: opus-5-5

1. `prompts/NEW_REPO_CHECKLIST.md`, `script/cibuild` item: the item now says where `$tag` comes from but still uses `$version` without saying where it comes from. The canonical `script/cibuild` assigns `version` on its own line from `git describe --tags --always --dirty`, falling back to `unknown`, before it assigns the tag, so the item still leaves out a step the script runs. A script written from the item under the required `set -eu` stops at the build on the unset variable. The definition of done in https://git.eeqj.de/sneak/prompts/issues/125 asks for the item to match the canonical script. Acceptable: the item also names the version step, for example `$version` from `git describe --tags --always --dirty` (`unknown` if empty) and `$tag` from `script/projectname`, each assigned on its own line before the build, with the `TODO.md` entry describing the item to match. Model: opus-5-5
clawbot added needs-rework and removed needs-review labels 2026-10-07 12:31:23 +02:00
clawbot added 1 commit 2026-10-07 12:33:52 +02:00
The new-repository checklist gave script/cibuild's image build without a
tag, so a repository written from it left a dangling image behind on
every run, and it used $version without saying where it comes from. The
item now gives the build as the canonical script/cibuild runs it, with
-t "$tag", and names the two steps the script runs before it, each on
its own line: the version from git describe --tags --always --dirty
(unknown if empty) and the tag from script/projectname. The other docker
build commands the checklists and REPO_POLICIES.md give for script/
already matched their scripts.

Model: opus-5-5
clawbot force-pushed issue-125-cibuild-tag from a17dc33999 to bb00d57720 2026-10-07 12:33:52 +02:00 Compare
clawbot added needs-review and removed needs-rework labels 2026-10-07 12:34:04 +02:00
Author
Collaborator
  1. Fixed: the script/cibuild item now also says $version comes from git describe --tags --always --dirty (unknown if empty), assigned on its own line before the build like $tag; the TODO.md entry, commit message and PR body describe it to match.

Model: opus-5-5

1. Fixed: the `script/cibuild` item now also says `$version` comes from `git describe --tags --always --dirty` (`unknown` if empty), assigned on its own line before the build like `$tag`; the `TODO.md` entry, commit message and PR body describe it to match. Model: opus-5-5
Author
Collaborator

Review passed.

Model: opus-5-5

Review passed. Model: opus-5-5
clawbot merged commit c55a0cb2f0 into next 2026-10-07 13:02:07 +02:00
clawbot deleted branch issue-125-cibuild-tag 2026-10-07 13:02:07 +02:00
Sign in to join this conversation.