Regenerate the widget gallery on pushes to main - #563
Merged
Merged
Conversation
Adds .github/workflows/widget-gallery.yml, which reruns tools/WidgetGallery whenever main changes a project it builds from and commits docs/gallery back when the pictures differ. The commit is pushed with GITHUB_TOKEN and carries [bot][skip ci], so it neither triggers another run nor counts towards a release, and it rebases over the release job's metadata commit if that lands first. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UAiQ9k8PXay5udWkN4vi3U
This was referenced Sep 30, 2026
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.
Requested by Matt · project thread
Before:
docs/gallery/changed only when someone rantools/WidgetGalleryby hand and committed the output. On main today it is behind: five widgets have no tile yet, and the Material Icons tiles show placeholder boxes.After: every push to
mainthat touches a project the gallery builds from reruns the tool. When the pictures changed, the workflow commitsdocs/gallery/back to main as[bot][skip ci] Regenerate the widget gallery. When they didn't change, it commits nothing.The new workflow is
.github/workflows/widget-gallery.yml. It reuses the existing tool rather than adding a generator.Why it can't loop or cut a release
GITHUB_TOKEN. GitHub starts no workflow run for a push made with that token, so neither this workflow norci.ymlfires on the bot's commit.[bot][skip ci]. That is the prefix KtsuBuild's own metadata commits use. KtsuBuild leaves those commits out of versioning and the changelog, and GitHub skips push workflows for them even if the token ever changes.docs/gallery/, which is outside the workflow'spaths:filter.Why no token or ruleset change is needed
The main ruleset in
infrastructure/github/rulesets.tfalready listsgithub-actions[bot](actor 15368) as an always-bypass actor. That is the identity behindGITHUB_TOKEN, and it is how KtsuBuild pushes its metadata commits today. Nothing changes in ktsu-dev/infrastructure.How
git lfs install --localmakes the new PNGs commit as LFS pointers, and a guard fails the job if any image is staged as a raw blob.docs/galleryis staged; the build also rewrites.gitignore, and that change is discarded.Tested locally against a bare remote
.gitignorerewrite; that is fixed.Things to know
CLAUDE.mdand a "Regenerated on main" section intools/WidgetGallery/README.md.🤖 Generated with Claude Code
https://claude.ai/code/session_01UAiQ9k8PXay5udWkN4vi3U
Generated by Claude Code