fix: Stable channel update uses tagged release #5948#5950
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds “stable channel” behavior to omarchy-update-git so updates land on the latest non–pre-release GitHub release tag instead of the current master tip, and introduces a test to validate that behavior.
Changes:
- Update
bin/omarchy-update-gitto detect the version channel and, forstable, checkout the latest non–pre-release release tag. - Add an integration-style shell test that builds a local repo with a stable tag and a newer pre-release on
master, then asserts stable selects the tag.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| test/omarchy-update-git-test.sh | New test to verify stable channel checks out the latest non–pre-release release tag vs master. |
| bin/omarchy-update-git | Implements “stable channel uses latest release tag” logic using gh release list. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| TMPDIR=$(mktemp -d) | ||
|
|
||
| latest_tag=$(gh release list --repo basecamp/omarchy --exclude-pre-releases --limit 1 --json tagName --jq '.[0].tagName') |
| git -C "$SEED" commit --allow-empty -m "$latest_tag" -q | ||
| git -C "$SEED" tag "$latest_tag" | ||
| git -C "$SEED" commit --allow-empty -m "pre-release on master" -q |
|
It's intentional. Master is latest release + any hotfixes. Your issue seems to have been that you were on the dev channel, as Ryan mentioned in the issue. But all of this will go away with Omarchy 4.0 when we switch from git to packages for stable. Thanks for exploring guardrails none the less. |
This PR updates
bin/omarchy-update-gitto use the latest non-pre-release GitHub release for the stable channel instead of pulling from the tip of master.Before
The stable channel update pulled from master, meaning any commit pushed to master (including pre-release code) would be delivered to stable users. Running a stable-channel update jumped me from 3.8.0 to 4.0.0alpha!
After
The stable channel now queries GitHub for the latest non-pre-release release and checks out that tag. The rc, edge, and dev channels are unchanged.
To test
Closes #5948