Repository navigation
Keep the profile Status column showing through the CI migration - #24
Merged
matt-edmondson merged 1 commit intoSep 16, 2026
Merged
Conversation
KtsuBuild reads the profile Status column from one workflow file by name, and that name is moving from `dotnet.yml` to `ci.yml` so the badge follows a repository whatever pipeline `ci-shared.yml` dispatches it to. Repositories migrate one at a time, so for the length of the rollout both shapes exist at once. `--fallback-workflow dotnet.yml` covers that window: a repository with no `ci.yml` still gets a status, and the run logs a warning naming it. The flag comes off when the warnings stop, which makes the rollout's own progress the signal for retiring it. The flag is accepted by the published tool as well, where it is never consulted because `dotnet.yml` is still primary there, so this is correct both before and after KtsuBuild ships the change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014RABe2NufFc9hwm94iB3Rf
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.
What
Passes
--fallback-workflow dotnet.ymlwhen generating the profile README, and updatesCLAUDE.mdanddocs/shared-ci.mdto describe the convention that replaces it.Why
The Status column is the latest run of one workflow file on a repository's default branch, read by name. ktsu-dev/KtsuBuild#138 moves that name from
dotnet.ymltoci.yml, so the badge follows a repository whatever pipelineci-shared.ymldispatches it to — the same reason the dispatcher exists at all.Repositories migrate one at a time, so for the length of the rollout both shapes exist at once. Without the fallback, every unmigrated repository's Status goes blank the moment KtsuBuild ships, and every migrated one goes blank until it does.
Why this is safe to land now
--fallback-workflowis not new — it is accepted by the currently published tool, where it is simply never consulted becausedotnet.ymlis already the primary. So this commit is correct before KtsuBuild#138 ships, after it ships, and at every point in the repository rollout in between. There is no ordering constraint between the three.Retiring it
Each fallback logs a warning naming the repository it covered. The flag comes off when the warnings stop, which makes the rollout's own progress the signal — nobody has to remember.
Also
The conventions table in
CLAUDE.mdnameddotnet.ymlas the build workflow. It now names theci.ymlcaller, anddocs/shared-ci.mdgains a section explaining why the generator reads the caller rather than the pipeline, alongside the existing sections on thereleasetag and the Dependabot gate.Verification
actionlint .github/workflows/update-readme.yml— two pre-existingSC2086infos on the unquoted$GITHUB_OUTPUTredirects, unchanged by this diff; nothing new.markdownlintonCLAUDE.mdreports the same 12 findings asorigin/maindoes, so the edits introduce none;docs/shared-ci.mdis clean.--fallback-workflowconfirmed present in the tool's option set onmainbefore relying on it.🤖 Generated with Claude Code
https://claude.ai/code/session_014RABe2NufFc9hwm94iB3Rf
Generated by Claude Code