Skip to content

chore(release): publish to nuget.org as primary feed#58

Merged
ChrisonSimtian merged 1 commit into
mainfrom
chore/p4-nuget-org-publish
May 20, 2026
Merged

chore(release): publish to nuget.org as primary feed#58
ChrisonSimtian merged 1 commit into
mainfrom
chore/p4-nuget-org-publish

Conversation

@ChrisonSimtian

Copy link
Copy Markdown
Collaborator

Summary

Refs #33 — issue stays open until Microsoft approves the prefix reservation (manual form after first publish).

⚠️ Manual steps required BEFORE merging

This PR will fail at the Publish step on the next push to main if these aren't done first:

  1. nuget.org → API keys → create a key scoped to Push with glob pattern Fallout.* (against your existing org account).
  2. Repo Settings → Secrets and variables → Actions → add a repository secret named NUGET_API_KEY with that value.

That's it for pre-merge. The CI will then attempt the first nuget.org publish on the next push to main.

After merge

Next push to main publishes all Fallout.* packages to nuget.org. Once at least one is up, submit the prefix reservation:

Once approved, you can close #33.

What's NOT in this PR

  • Removing the Nuke.* packages already published to GitHub Packages on the fork. Those stay as historical artifacts of the pre-rename period. No churn until a consumer asks.
  • Prefix reservation submission — that's an out-of-band action with Microsoft.
  • The first actual nuget.org publish (happens automatically on the next main push after this lands).

Test plan

  • dotnet build build/_build.csproj -c Debug passes locally (verified — 0 errors, 14 pre-existing warnings)
  • NUGET_API_KEY secret added to repo settings before merging
  • After merge, watch .github/workflows/release.yml run and confirm packages appear under https://www.nuget.org/profiles/
  • File the prefix reservation form

🤖 Generated with Claude Code

Switches the release pipeline from publishing to GitHub Packages
(the pre-rename stopgap) to publishing Fallout.* packages to nuget.org.
This enables the prefix reservation flow tracked in #33.

Changes:
- build/Build.cs: IPublish.NuGetSource is now api.nuget.org;
  drop the GitHub-Packages-owner construction logic and stale comment.
- build/Build.cs: DeletePackages glob fixed nuke.* → fallout.* (latent
  bug — the regex-based string-reference audit in #52 missed it because
  literal "nuke.*" with lowercase didn't match the \bNuke\. pattern).
- .github/workflows/release.yml: NuGetApiKey now sourced from
  secrets.NUGET_API_KEY instead of GITHUB_TOKEN; drop packages:write
  permission (no longer pushing to GitHub Packages).
- CLAUDE.md: refresh the "publishes to GitHub Packages" / "why not
  nuget.org?" paragraph — the gating rename has landed.

Refs #33. Issue stays open until the prefix reservation is approved
by Microsoft (manual form submission after first nuget.org publish).

## Manual steps required before merging

1. nuget.org → API keys → create key scoped to "Push" for glob
   pattern `Fallout.*` (use the existing org account).
2. Repo Settings → Secrets and variables → Actions → add
   `NUGET_API_KEY` with that value.

Merging without (1) and (2) will cause the next release run to fail
loudly at the Publish step. That's the intended fail-mode.

## After merge

Next push to main will publish all Fallout.* packages to nuget.org.
After that succeeds, submit the prefix reservation form:
https://learn.microsoft.com/en-us/nuget/nuget-org/id-prefix-reservation

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ChrisonSimtian
ChrisonSimtian merged commit 4945480 into main May 20, 2026
1 check passed
@ChrisonSimtian
ChrisonSimtian deleted the chore/p4-nuget-org-publish branch May 20, 2026 21:56
ChrisonSimtian added a commit that referenced this pull request May 22, 2026
CLAUDE.md no longer claimed the Nuke.* → Fallout.* structural rename
was pending — that landed in #54, #60, #65, #66 ages ago. Updates the
rebrand-status paragraph, the src/tests layout table, the production
project groupings (now including Fallout.Migrate and the vendored
Fallout.VisualStudio.SolutionPersistence), the tool-wrapper paths, and
fixes the CI-revival roadmap link from #7 (which is the CodeQL ticket)
to #8 (the actual CI-revival tracker).

README.md said releases publish to GitHub Packages — nuget.org has been
the primary feed since #58. Build-status table also had three URLs
hardcoded to ChrisonSimtian/nuke (the pre-rename slug). Also notes the
new docs-only paths-ignore on the release workflow.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

[P4] Reserve Fallout.* package IDs on nuget.org

1 participant