Add bin/omarchy-release: the interactive release front door
A release train has three human moments, each one command: start (release branch on basecamp/omarchy + notes staging PR + edge→rc advance for minor/major), rc (pin both PKGBUILDs to the branch head as X.Y.ZrcN on the pkgs rc branch, trigger the rc channel build, wait for publish, optional RC ISO), and ship (final pins → promote rc→stable → tag → pins to master → GitHub release from the staging PR body → final ISO → website bump, each step skip-if-done so a crashed run resumes). Bare omarchy-release is the shepherd: it derives the train state from observed reality (remote branches, rc-branch pins, published channel dbs, tags — no state files) and offers the correct next step. Versions are inferred from branch names (v4-0-2 ⇒ 4.0.2rcN ⇒ v4.0.2). ship refuses to promote a commit no RC was cut from. pick is a multi-select over merged quattro PRs, cherry-picking merge commits. doctor pre-flights every credential and connection. self-test wired into CI. bin/omarchy-pkgs stays as the pin engine, driven with its db URL pointed at the rc channel and pins committed to the standing rc branch (rebuilt as master + pins per cut and force-pushed; the server rc worktree follows with reset --hard).
This commit is contained in:
@@ -6,8 +6,11 @@ Wants=network-online.target
|
||||
[Service]
|
||||
Type=oneshot
|
||||
# The rc channel builds from the rc branch worktree, but publishes into the
|
||||
# primary checkout's channel tree via OMARCHY_REPO_ROOT.
|
||||
ExecStartPre=/usr/bin/git -C /root/omarchy-pkgs-rc pull --ff-only
|
||||
# primary checkout's channel tree via OMARCHY_REPO_ROOT. The rc branch is
|
||||
# rebuilt (master + pin commits) each release train and force-pushed, so this
|
||||
# worktree follows with a hard reset rather than a fast-forward pull.
|
||||
ExecStartPre=/usr/bin/git -C /root/omarchy-pkgs-rc fetch origin rc
|
||||
ExecStartPre=/usr/bin/git -C /root/omarchy-pkgs-rc reset --hard origin/rc
|
||||
ExecStart=/bin/bash -c 'source /root/.omarchy/build-credentials && /root/omarchy-pkgs-rc/bin/auto-release rc'
|
||||
Environment=OMARCHY_STATE_DIR=/root/.state
|
||||
Environment=OMARCHY_REPO_ROOT=/root/omarchy-pkgs/pkgs.omarchy.org
|
||||
|
||||
Reference in New Issue
Block a user