Skip to content

build: Fallout CI + nuget.org Trusted Publishing (Chrison.* IDs)#14

Merged
ChrisonSimtian merged 1 commit into
mainfrom
feat/fallout-ci-nuget-publish
Jul 23, 2026
Merged

build: Fallout CI + nuget.org Trusted Publishing (Chrison.* IDs)#14
ChrisonSimtian merged 1 commit into
mainfrom
feat/fallout-ci-nuget-publish

Conversation

@ChrisonSimtian

Copy link
Copy Markdown
Collaborator

Mirrors the ProxmoxSharp conversion (#20) for UnifiSharp: Fallout build/CI + Chrison.* package IDs + nuget.org Trusted Publishing (OIDC, keyless). Part of P0 for the org-migration epic (Chrison-dev/Homelab#282).

What changed

  • Fallout build (build/ + build.sh/ps1 + .fallout/ marker); new nuget.config scopes the Fallout-build feed to Fallout.*.
  • Chrison.* IDsChrison.UnifiSharp{,.Api,.Cli} (bare UnifiSharp is taken on nuget.org by anthturner). AssemblyName/namespace stay UnifiSharp; the unifisharp command is unchanged.
  • Workflowsci.yml → build+test; publish.ymlNuGet/login@v1 OIDC → push (prerelease on main, stable on v*), job runs in the Nuget.org environment.

Verified locally

./build.sh Pack16 tests pass, emits Chrison.UnifiSharp{,.Api,.Cli}.nupkg.

Setup (I've done the repo side)

PACKAGES_PAT + NUGET_USER secrets and the Nuget.org environment are set. Needs you: create the nuget.org Trusted Publishing policy — owner Chrison-dev, repo UnifiSharp, workflow publish.yml, Environment Nuget.org (per our schema).

Consumer updates (Homelab engine → Chrison.UnifiSharp from nuget.org) belong to the Homelab-side migration (#282, P6), not this PR.

Mirror the ProxmoxSharp conversion (PR Chrison-dev/ProxmoxSharp#20):

- build/: Fallout build project (Compile/Test/Pack/Publish) + build.sh/ps1 +
  .fallout/ root marker; new nuget.config adds the Fallout-build feed (Fallout.* only).
- Rename package IDs to the Chrison.* prefix (Chrison.UnifiSharp[.Api|.Cli]) — the
  bare UnifiSharp ID is taken on nuget.org (anthturner). AssemblyName/RootNamespace
  stay UnifiSharp, so `using UnifiSharp;` and the `unifisharp` command are unchanged.
- ci.yml → build+test only; publish.yml → NuGet/login@v1 OIDC → push to nuget.org
  (prerelease on main, stable on v* tag), job runs in the Nuget.org environment.
- README: Build + Packages sections updated for Fallout + Chrison.* on nuget.org.

Verified locally: ./build.sh Pack → 16 tests pass, emits Chrison.UnifiSharp*.nupkg.

Requires (repo setup): PACKAGES_PAT + NUGET_USER secrets, a Nuget.org GH environment,
and a nuget.org Trusted Publishing policy for this repo + publish.yml (Environment=Nuget.org).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisonSimtian
ChrisonSimtian merged commit d3ff788 into main Jul 23, 2026
2 checks passed
@ChrisonSimtian
ChrisonSimtian deleted the feat/fallout-ci-nuget-publish branch July 23, 2026 03:48
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