Skip to content

refactor!: retire the single-consumer .NET publisher - #687

Merged
devantler merged 1 commit into
mainfrom
codex/retire-dotnet-publisher-534-r26
Oct 21, 2026
Merged

devantler merged 1 commit into
mainfrom
codex/retire-dotnet-publisher-534-r26

Conversation

@devantler

Copy link
Copy Markdown
Contributor

🤖 Generated by the Agentic Engineer

Why

The .NET template now owns its package publication, leaving an unused publisher advertised in the shared catalogue. Keeping both makes the supported ownership model unclear.

What

Retire the unused export and its empty publication smoke check, and direct adopters to the repository-owned publisher. Keep the shared .NET testing action and its installation and credential safeguards.

Part of #56

💥 Breaking change: New catalogue versions no longer export the .NET publisher; existing immutable release pins remain available.

@github-code-quality

github-code-quality Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Code coverage overview

Languages: Go, C#

Go / code-coverage/test

main 582ee19 codex/retire-dotnet-... bcdcdec +/-
50% 50% 0%

C# / code-coverage/dotnet

main 582ee19 codex/retire-dotnet-... bcdcdec +/-
100% 100% 0%

Go / code-coverage/go

main 582ee19 codex/retire-dotnet-... bcdcdec +/-
50% 50% 0%

ℹ️ Calculations represent line coverage. Results may change as calculations are updated.


Updated October 21, 2026 18:11 UTC

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

This completes the shared-publication cleanup portion of dotnet-template#534, after its repository-owned publisher merged in #535. It does not retire the still-active organization-required .NET validation source; that needs a separate verified enforcement cutover.

At bcdcdec5463ab935535af5331d231654e7c23771, the removed workflow has no remaining production caller in the audited active portfolio. Existing immutable pins remain available. The former catalogue smoke job skipped publication rather than exercising a package delivery; actual package creation and disposable-feed delivery now belong to the template's native checks.

The .NET tool-installation regression first failed on a missing coverage-tool install, then passed with the shared coverage action as its explicit owner. All 45 real-source credential mutations remain covered, including restoration of package-write authority through the remaining .NET test workflow. Complete selection/reducer controls, documentation parity, instruction layout, all fourteen baseline manifest/governance checks, actionlint, ShellCheck and whitespace validation passed locally. The existing literal-variable ShellCheck false positives now have narrowly scoped explanatory directives rather than a broader scanner exclusion.

User evaluation: I cold-read the updated catalogue path and verified that its replacement link resolves to the actual merged repository-owned publication workflow. Hosted validation and a current-head review remain required before promotion. This is a partial ownership delivery, not a claim that the portfolio-wide cleanup is complete.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Oct 21, 2026

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository YAML (base), Organization UI (inherited)
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 0698ef79-5aff-464f-85f0-87d3b4fd0a3a
📥 Commits

Reviewing files that changed from the base of the PR and between 582ee19 and bcdcdec.

📒 Files selected for processing: 8
  • .github/imported-workflows.txt
  • .github/scripts/ci-selection/inventory.json
  • .github/tests/test-catalogue-credentials-controls.sh
  • .github/tests/test-ci-selection.sh
  • .github/tests/test-dotnet-tool-pins.sh
  • .github/workflows/ci.yaml
  • .github/workflows/publish-dotnet-library.yaml
  • README.md
💤 Files with no reviewable changes: 3
  • .github/scripts/ci-selection/inventory.json
  • .github/workflows/publish-dotnet-library.yaml
  • .github/imported-workflows.txt

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📜 Recent review details
🧰 Additional context used
📚 Code guidelines: 3
actions/CONTRIBUTING.md — auto-discovered
.github/agent-guides/catalogue.md — auto-discovered
CONTRIBUTING.md — auto-discovered
📓 Path-based instructions: 4
Applicability reference: AGENTS.md: # AGENTS.md — devantler-tech/.github (GitHub-as-code) Full detail in [actions/CONTRIBUTING.md](actions/CONTRIBUTING.md).

📄 CodeRabbit inference engine (actions/CONTRIBUTING.md)

Files:

  • .github/tests/test-catalogue-credentials-controls.sh
  • .github/tests/test-ci-selection.sh
  • .github/tests/test-dotnet-tool-pins.sh
Applicability reference: AGENTS.md: # AGENTS.md — devantler-tech/.github (GitHub-as-code) Full detail in [actions/CONTRIBUTING.md](actions/CONTRIBUTING.md).

📄 CodeRabbit inference engine (actions/CONTRIBUTING.md)

Files:

  • .github/workflows/ci.yaml
Applicability reference: AGENTS.md: # AGENTS.md — devantler-tech/.github (GitHub-as-code) | Guide | Read before | |---|---| | [Catalogue layout and references](.github/agent-guides/catalogue.md) | Adding or moving components, self-reference...

📄 CodeRabbit inference engine (.github/agent-guides/catalogue.md)

Files:

  • .github/workflows/ci.yaml
Applicability reference: AGENTS.md: # AGENTS.md — devantler-tech/.github (GitHub-as-code) Three things share one repo: **The org's public profile** — `profile/README.md` (rendered on the org page), plus the org-wide commun...

📄 CodeRabbit inference engine (CONTRIBUTING.md)

Files:

  • .github/workflows/ci.yaml
  • .github/tests/test-catalogue-credentials-controls.sh
  • .github/tests/test-ci-selection.sh
  • .github/tests/test-dotnet-tool-pins.sh
🔇 Additional comments: 5
.github/workflows/ci.yaml: 1

3764-3764: LGTM!

.github/tests/test-ci-selection.sh: 1

90-90: LGTM!

.github/tests/test-catalogue-credentials-controls.sh: 1

61-61: LGTM!

README.md: 1

9-20: LGTM!

.github/tests/test-dotnet-tool-pins.sh: 1

10-12: LGTM!

Also applies to: 152-152, 154-154, 160-161, 164-164, 167-173, 175-176, 180-180, 201-202, 212-213, 222-223, 239-239, 242-242, 293-294, 303-304, 310-310, 333-334, 343-344, 353-354, 364-365, 369-371, 373-373

📝 Walkthrough

The shared .NET publishing workflow is deleted and removed from the imported workflow list, CI dry-run checks, and README catalogue. The README adds workflow ownership guidance and identifies dotnet-template as the owner of .NET package publishing. The tool-pin test now checks for an exact coverage-tool install in the shared test action. The credential-control test now checks for package write permission in the test workflow.

Possibly related issues

  • dotnet-template issue 534 — The change retires the shared publisher and directs .NET package publishing to the template repository, matching the issue’s stated objectives.

Priority: ⬇️ Low

Merge Risk: ⚪ Minimal · up to bcdcd

The shared .NET publisher has no remaining in-repository caller, and its CI and catalogue references have been removed. No actionable merge-blocking risk is established; complete the planned hosted validation before promotion.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title clearly and concisely describes the primary change: retiring the single-consumer .NET publisher.
Description check Passed The description explains why the .NET publisher is retired, what changes, the retained safeguards, and the breaking-change impact. It directly matches the changeset.
Docstring Coverage Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 3 files. (2 skipped: 2 …
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 3 files. (2 skipped: 2 unsupported.)

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@devantler
devantler marked this pull request as ready for review October 21, 2026 18:48
@devantler
devantler merged commit 467f075 into main Oct 21, 2026
275 checks passed
@devantler
devantler deleted the codex/retire-dotnet-publisher-534-r26 branch October 21, 2026 18:49
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.

1 participant