Skip to content

Call the shared pipeline through ci.yml instead of a local dotnet.yml - #41

Open
matt-edmondson wants to merge 1 commit into
mainfrom
fix/21-ci-yml
Open

matt-edmondson wants to merge 1 commit into
mainfrom
fix/21-ci-yml

Conversation

@matt-edmondson

Copy link
Copy Markdown
Collaborator

Fixes #21

What changed

  • Added .github/workflows/ci.yml, byte-for-byte the same as FileDeduplicator's and SvnToGit's. It calls ktsu-dev/.github/.github/workflows/ci-shared.yml@release with the usual triggers, concurrency and caller permissions.
  • Removed .github/workflows/dotnet.yml, NoSleep's local copy of the pipeline. With ci.yml in place it would have run every build twice.
  • dependabot-merge.yml now lists "CI" in its workflow_run list, replacing ".NET Workflow". The list matches on the workflow's name:, so without this change a green Dependabot PR would never trigger the merge gate again.
  • README badge now points at ci.yml.

Verification

  • Both workflow files parse as YAML. ci.yml is identical to the one already running in FileDeduplicator and SvnToGit.
  • There is no unit test for a workflow move. The issue's second criterion is that ktsubuild profile readme --org ktsu-dev --only NoSleep shows a status without --fallback-workflow. That command reads the default branch, so it can only be checked after merge. This PR's own CI run is the first test of the new pipeline on NoSleep.

Not changed

dependabot-merge.yml still calls the shared gate at @main, while FileDeduplicator uses @release. Moving it isn't part of this issue, so it's left for a separate change.


Generated by Claude Code

NoSleep carried its own copy of the .NET workflow, so it missed changes to
ci-shared.yml and its profile Status depended on the generator's
--fallback-workflow dotnet.yml flag. Replace it with the standard ci.yml
(identical to FileDeduplicator's and SvnToGit's), point the Dependabot
merge gate at the new workflow name "CI", and point the README build
badge at ci.yml.

Fixes #21

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017vfJW4SLyvTvUJUdcrUu7F

Copy link
Copy Markdown
Collaborator Author

ci / Classify repository fails, and no code change in this PR can fix it. It's a repository setting.

Repository is private: false, fork: false
Topics: <none>
##[error]This repository has a global.json but not the 'dotnet' topic.
##[error]Add the 'dotnet' topic; the topic is what selects the pipeline.

ci-shared.yml picks the .NET pipeline only when the repository has both a global.json and the dotnet GitHub topic. NoSleep has no topics set at all. TAGS.md lists dotnet, but it was never synced to the repository. The old local dotnet.yml didn't check topics, which is why this didn't show up before. FileDeduplicator and SvnToGit both have dotnet set.

Needed: add the dotnet topic to ktsu-dev/NoSleep (repository settings, About → Topics), then re-run this check. Nothing in the diff has to change. I can't set repository topics from this session.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

NoSleep has no ci.yml, so its profile Status goes blank once the generator's dotnet.yml fallback is removed

2 participants