feat(ci): push add-on snapshots to history branch instead of main, fixes #74#75
Merged
Conversation
## The Issue - Fixes #74 Automated add-on updates were committed directly to main, making it hard to distinguish manual changes from bot-generated snapshot noise and leaving main open to direct bot pushes. ## How This PR Solves The Issue - Before running Go, fetch `_addons/` from `origin/history` into the index so the degradation check can diff against the previous snapshot - After Go regenerates `_addons/`, commit it to the `history` branch via a git worktree (no branch switching in the main worktree) - Same-day re-runs amend the existing snapshot commit and force-with-lease push instead of creating a duplicate - Restore commands in the degradation check updated from `git checkout HEAD` to `git checkout origin/history` - Build job fetches `_addons/` from `origin/history` before Jekyll runs so it always builds from the latest snapshot regardless of skip flags - Bump all GitHub Actions versions (checkout, pages, artifact, deploy) ## Manual Testing Instructions Trigger the workflow via `workflow_dispatch` and verify: - `history` branch receives a `chore(add-ons): snapshot YYYY-MM-DD` commit - `main` branch receives no new bot commits - GitHub Pages deploys successfully with full add-on data - Re-running on the same day amends rather than adds a second commit ## Automated Testing Overview No automated tests — this is CI/CD pipeline logic only. ## Release/Deployment Notes The `history` branch must exist and contain `_addons/` before this workflow runs (already satisfied: branch was seeded in commit 6b44bc0). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Issue
Automated add-on updates were committed directly to main, making it hard to distinguish manual changes from bot-generated snapshot noise and leaving main open to direct bot pushes.
How This PR Solves The Issue
_addons/fromorigin/historyinto the index so the degradation check can diff against the previous snapshot_addons/, commit it to thehistorybranch via a git worktree (no branch switching in the main worktree)git checkout HEADtogit checkout origin/history_addons/fromorigin/historybefore Jekyll runs so it always builds from the latest snapshot regardless of skip flagsManual Testing Instructions
Trigger the workflow via
workflow_dispatchand verify:historybranch receives achore(add-ons): snapshot YYYY-MM-DDcommitmainbranch receives no new bot commitsAutomated Testing Overview
No automated tests - this is CI/CD pipeline logic only.
Release/Deployment Notes
The
historybranch must exist and contain_addons/before this workflow runs (already satisfied: branch was seeded in commit 6b44bc0).