Commit graph

7 commits

Author SHA1 Message Date
ochenstarik-ui
7cb7173466 fix: clear cosign command cache in release verification 2026-08-17 23:37:57 +07:00
ochenstarik-ui
6bd58abe2f fix: provision cosign for verified installs 2026-08-15 23:29:49 +07:00
Ochenstarik
c1e47684e6 fix(verification): verify releases the way an operator does
PR #40 correctly publishes the keyless signing certificate and makes
verify_archive require manifest, signature and certificate together. Three
things around it were inconsistent.

The release-verification scripts fetched assets with `gh release download`.
The workspace-isolation step deliberately removes `.git` so that the install
comes from the release rather than the source tree, and `gh` resolves the
repository from that git context — the tool fought the isolation it runs
inside, which is what broke the first runs. An operator has neither `gh` nor a
token, so the scripts now use public `curl`, `sha256sum` and `cosign` only.
`verify-assets.sh` keeps `gh`: it runs before isolation and only lists assets.

The monitor check addressed a user and a home directory that do not exist.
The bootstrap creates `ochenstarik-monitor` with `/var/lib/ochenstarik-monitor`;
the script used `ochenstarik-smm-monitor` under the Control state directory, so
that section could never have passed. It now also asserts that the forced
command is pinned in `authorized_keys` before running it, and quotes the
command instead of splitting it on whitespace.

The expected asset list did not include the new certificate, so a correct
release would have been reported as unexpected.

Also: a negative case for an archive published without its certificate, removal
of drafting comments that quoted the task text, and documentation of the three
signature files, since `verify-release` now requires them beside the archive and
the documented download list stopped being sufficient.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 13:16:27 +07:00
Ochenstarik
e1359b1b5f fix(release): publish keyless signing certificate
Close the producer/consumer certificate contract and advance the immutable correction release to alpha.14.
2026-08-13 14:29:16 +07:00
ochenstarik-ui
48d096a06e fix(ci): update release contract to alpha.10, remove backward compat test from bootstrap job
- test-release-contract.sh: update hardcoded DEFAULT_RELEASE_TAG assertion to v0.1.0-alpha.10
- run-negative-tests.sh: remove test 5 (alpha.8 backward compat) — verify-release checks
  for artifacts added in later versions, making cross-version testing inherently fragile
2026-08-11 12:01:19 +07:00
ochenstarik-ui
481d4b7c8a Add alpha.8 backward compatibility test 2026-08-11 01:30:39 +07:00
ochenstarik-ui
6ca8ac8469 Add release verification workflow 2026-08-11 01:28:50 +07:00