Repository navigation
fix(packaging): bump PKGBUILD to 1.21.18; checklist asset count - #53
Conversation
pkgver and the four musl source digests now track the published v1.21.18 release; digests come from its SHA256SUMS asset, which is byte-identical to the sealed stage. .SRCINFO and the contract-test pins move with it. This turns test_pkgbase_identity_and_version green again (red on main since before v1.21.17). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Structural pre-merge review: PR #53, head
|
| Asset | Published digest | PKGBUILD | .SRCINFO | Test pin | Result |
|---|---|---|---|---|---|
terraphim-agent-1.21.18-x86_64-unknown-linux-musl.tar.gz |
767ee6cdaa375f838cf69607a7346cb89195480dbfccc45ecefde7820a89ad4c |
pkgbuilds/terraphim-clients-bin/PKGBUILD:48 |
pkgbuilds/terraphim-clients-bin/.SRCINFO:14 |
tests/test_pkgbuild_release_contract.py:44 |
Pass |
terraphim-grep-1.21.18-x86_64-unknown-linux-musl.tar.gz |
8e463f780e3683e909613a4dd01fb47da36e5736a6a51ea62f36a3ce235b7167 |
pkgbuilds/terraphim-clients-bin/PKGBUILD:49 |
pkgbuilds/terraphim-clients-bin/.SRCINFO:15 |
tests/test_pkgbuild_release_contract.py:48 |
Pass |
terraphim-agent-1.21.18-aarch64-unknown-linux-musl.tar.gz |
1f4265ad8756378d101d35dc21d0362460cb858d9be99aa7486aafe83e8caa0f |
pkgbuilds/terraphim-clients-bin/PKGBUILD:52 |
pkgbuilds/terraphim-clients-bin/.SRCINFO:18 |
tests/test_pkgbuild_release_contract.py:54 |
Pass |
terraphim-grep-1.21.18-aarch64-unknown-linux-musl.tar.gz |
1b02796312162b59cd0165aa302aa683e8f57b00c72f283ab0bd15d569d3b395 |
pkgbuilds/terraphim-clients-bin/PKGBUILD:53 |
pkgbuilds/terraphim-clients-bin/.SRCINFO:19 |
tests/test_pkgbuild_release_contract.py:58 |
Pass |
Arch-to-asset mapping is correct:
source_x86_64maps to the twox86_64-unknown-linux-muslarchives:PKGBUILD:35-38,.SRCINFO:12-15.source_aarch64maps to the twoaarch64-unknown-linux-muslarchives:PKGBUILD:39-42,.SRCINFO:16-19.
.SRCINFO consistency
.SRCINFO matches the changed PKGBUILD values for the reviewed fields:
pkgver = 1.21.18:PKGBUILD:21,.SRCINFO:3pkgrel = 1:PKGBUILD:22,.SRCINFO:4arch,license,options:PKGBUILD:24-27,.SRCINFO:6-11- source URLs and digests for both supported architectures:
PKGBUILD:35-53,.SRCINFO:12-19 - split package metadata remains aligned:
PKGBUILD:61-87,.SRCINFO:21-31
Release asset count check
Checked:
gh release view v1.21.18 -R terraphim/terraphim-clients --json assetsThe release has 17 archive assets plus SHA256SUMS, matching the checklist update at docs/release-operator-checklist.md:36-38:
terraphim-agent: 6 archivesterraphim-grep: 6 archivesterraphim-cli: 5 archives- Windows zip targets are absent, consistent with the checklist note.
Test evidence
Ran the permitted test command:
python3 -m unittest tests/test_pkgbuild_release_contract.pyResult:
Ran 7 tests in 0.002s
OK (skipped=1)
The skip is the existing makepkg-dependent .SRCINFO drift assertion path when makepkg is unavailable.
Mermaid verification flow
flowchart TD
A["GitHub release v1.21.18"] --> B["SHA256SUMS"]
A --> C["Release assets JSON"]
B --> D["Four MUSL archive digests"]
D --> E["PKGBUILD sha256sums"]
D --> F[".SRCINFO sha256sums"]
D --> G["test_pkgbuild_release_contract.py ASSETS"]
E --> H["All digest pins agree"]
F --> H
G --> H
C --> I["17 archive assets"]
I --> J["6 agent, 6 grep, 5 cli"]
J --> K["Checklist matches release shape"]
H --> L["No blocking findings"]
K --> L
Per-file overview
-
pkgbuilds/terraphim-clients-bin/PKGBUILD- Correctly bumps
pkgverfrom1.21.16to1.21.18. - Correctly updates the four MUSL SHA-256 digests from the published
v1.21.18SHA256SUMS. - Source ordering and digest ordering are consistent for agent then grep on both architectures.
- Correctly bumps
-
pkgbuilds/terraphim-clients-bin/.SRCINFO- Consistent with the reviewed PKGBUILD fields.
- URLs, version, and checksums match the corresponding PKGBUILD arrays.
-
tests/test_pkgbuild_release_contract.pyPKGVERand all four pinned digest values matchPKGBUILD,.SRCINFO, and the published release checksum asset.- Unit test run passed.
-
docs/release-operator-checklist.md- Checklist now states 17 archives: 6 agent, 6 grep, 5 cli.
- This matches the
v1.21.18release asset inventory returned by GitHub.
Confidence: 5/5.
Author verification: no findings to dispute. The reviewer independently re-downloaded the published SHA256SUMS and matched all four digests across PKGBUILD, .SRCINFO and the test pins.
Post-release follow-up for v1.21.18. Turns
mainCI green again.Changes
fix(packaging): terraphim-clients-bin PKGBUILD → 1.21.18pkgver=1.21.18.SHA256SUMS, which is byte-identical (cmp) to the sealed stageSHA256SUMSreviewed before promotion..SRCINFOand the contract-test pins (tests/test_pkgbuild_release_contract.py) move with it.test_pkgbase_identity_and_version, which has been red onmainsince before v1.21.17. The test's own comment describes exactly this sequence: fail during the release window, then a follow-up bump once the assets exist.docs(release): checklist expects 17 archives. It said 20 (7/7/6), which predates the Windows removal in fix(manifest): drop Windows zip from required target set (#348) #50/fix(promotion): drop Windows zip from promotion/acceptance target sets (#348) #51. v1.21.17 and v1.21.18 both shipped 17.Verification
python3 -m unittest test_pkgbuild_release_contract: OK (1 skipped: the.SRCINFOregeneration check needsmakepkg).python3 -m unittest test_release_binaries_workflow_contract: OK.pkgbuilds/terraphim-clients-bin/verify.shinarchlinux:base-devel(linux/amd64), on a copy of the package directory, exits 0:.SRCINFOdrift check passes againstmakepkg --printsrcinfo;Passed);namcapis clean and split ownership is correct;pacman -Uinstalls both packages,pacman -Qkkreports 0 altered files, the installed binaries report1.21.18, and the package-manager receipt check passes;pacman -Rremoves both cleanly.The aarch64 digests are verified by the
SHA256SUMScomparison, not by an aarch64 Arch build.🤖 Generated with Claude Code