Grilling: Lock channel + toolchain #38
Notifications
Due Date
No due date set.
Blocks
Depends on
#39 Grilling: Signing + key policy
xavierk/Fenris
#40 Grilling: Package ownership + ADR 0004 amendment
xavierk/Fenris
#42 Task: Compose release spec + ADR amending 0004
xavierk/Fenris
Reference: xavierk/Fenris#38
Reference in New Issue
Block a user
Parent map: Fenris deb + rpm release plan
Question
Given the research findings, lock the distribution channel (Gitea Debian/RPM registry vs OBS vs both) and the packaging toolchain per format. Decide the single-source-of-truth build layout (shared version + file lists) and the artifact promotion flow (tag → build → publish → attach to release).
Resolution
All nine sub-decisions locked (user accepted recommendations Q1–Q9):
Channel: Gitea 1.27.1 self-hosted Debian/RPM registry, single channel, OBS permanently off the route (ratifies #36).
Toolchain: nfpm for both deb and rpm, single
packaging/nfpm.yamlwithoverrides:per format; fpm dropped entirely (not even a documented fallback); no hand rpm spec (ratifies #34).Artifacts/dists: one deb (bundled venv → no distro deps) PUT to each dist pool by codename:
bookworm,jammy,noble. One rpm, single groupfenris, serving Fedora 40+.Build layout (single source of truth):
packaging/nfpm.yamlin repo; version injected frompyproject.toml; file lists generated by a staging script (venv--copies→/opt/fenristree) which the nfpm config references — no hand-maintained file lists; entry pointmake packageproducing deb + rpm.Version scheme:
<pyproject-version>-1both formats; revision bump (-2,-3, …) on rebuild of same upstream version; never re-PUT the same filename (registry 409s duplicates).Promotion flow: tag →
make release(manual: build + PUT upload + attach assets); release assets =.deb,.rpm,SHA256SUMS. Dormant.gitea/workflows/release.ymlcommitted now —on: push: tags: ['v*'], single job, host-mode runner assumed; queueing-until-runner is acceptable since manual flow remains the fallback.Writing
nfpm.yaml/ staging script / workflow file is execution — deliberately out of this map's scope.Downstream tickets Grilling: Signing + key policy and Grilling: Package ownership + ADR 0004 amendment are now unblocked.
xavierk referenced this issue2026-09-02 19:46:36 +00:00