Release flow: one command to build, sign, publish, and attach — plus dormant workflow #52
Notifications
Due Date
No due date set.
Depends on
Reference: xavierk/Fenris#52
Reference in New Issue
Block a user
Parent
Ship Fenris as native deb + rpm packages (execute the release plan)
What to build
The one-command Release: a single release command builds both formats, signs, uploads the deb to the three codename pools and the rpm to its group, and creates a release entry with notes and the artifacts plus the clearsigned checksum manifest attached — with a dry-run mode that is what the tests assert, a dormant tag-triggered workflow replicating it for when a runner exists, and a documented one-time live probe of the registry path.
Acceptance criteria
Blocked by
Resolved — all acceptance criteria met:
scripts/release.sh --publishperforms build (make package), signing (rpmsign + gpg --clearsign), registry uploads (deb → bookworm/jammy/noble; rpm → fenris group), and creates a Gitea release entry with notes plus deb, rpm, and SHA256SUMS.asc attachedscripts/release.sh --dry-runprints every constructed command without executing; 32 structural tests assert the output without network or registry access.gitea/workflows/release.ymlextended with signing, upload, release creation, and artifact attachment; triggers onv*tags, queues harmlessly without a runnerdocs/install/signing-key-ceremony.md— publish throwaway package, verify apt/dnf metadata and signature checks, then deleteChanges: scripts/release.sh (new), tests/test_release.py (new, 32 tests), Makefile (release-run/release-dry-run targets), .gitea/workflows/release.yml (full release flow), docs/install/signing-key-ceremony.md (live probe).
Test results: 32/32 release tests pass, 369/369 full suite pass.