Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,5 @@ jobs:
# UnifiSharp.Api client from the committed OpenAPI spec via Kiota (Generated/
# is gitignored), then compiles everything; Test skips live integration tests
# automatically without a secrets.env.
#
# GITHUB_PACKAGES_PAT authenticates the Fallout-build package feed (nuget.config)
# so the build/ project can restore Fallout.*. PACKAGES_PAT is a PAT with
# read:packages on the Fallout-build org.
- name: Build & test (Fallout)
env:
GITHUB_PACKAGES_PAT: ${{ secrets.PACKAGES_PAT }}
run: ./build.sh Test
8 changes: 2 additions & 6 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ name: publish
#
# Requires a nuget.org Trusted Publishing policy for this repo + this workflow file
# (publish.yml) with Environment=Nuget.org, and the NUGET_USER secret (nuget.org
# profile name). GITHUB_PACKAGES_PAT (from PACKAGES_PAT) only authenticates the
# Fallout-build feed for the build/ project.
# profile name).
on:
push:
branches: [main]
Expand Down Expand Up @@ -53,11 +52,8 @@ jobs:
with:
user: ${{ secrets.NUGET_USER }}

# Fallout Pack + Publish. GITHUB_PACKAGES_PAT authenticates the Fallout-build
# feed (build/ project restore); the push uses the short-lived nuget.org key.
# Fallout Pack + Publish; the push uses the short-lived nuget.org key.
- name: Publish (Fallout → nuget.org)
env:
GITHUB_PACKAGES_PAT: ${{ secrets.PACKAGES_PAT }}
run: |
ARGS=(Publish --nuget-api-key "${{ steps.login.outputs.NUGET_API_KEY }}")
if [[ -n "${{ steps.ver.outputs.suffix }}" ]]; then
Expand Down
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,8 @@ build system, a NUKE successor). Targets: `Compile` → `Test` → `Pack` → `P
./build.sh Pack # produce the Chrison.* nupkgs into artifacts/
```

Requires the .NET 10 SDK (see `global.json`) and `GITHUB_PACKAGES_PAT` in the
environment (a PAT with `read:packages` on the Fallout-build org — the build restores
`Fallout.*` from that feed, see `nuget.config`). CI runs `./build.sh Test` on push/PR.
Requires the .NET 10 SDK (see `global.json`); everything, including `Fallout.*`,
restores from nuget.org with no credentials. CI runs `./build.sh Test` on push/PR.

## Use it

Expand Down
4 changes: 2 additions & 2 deletions build.ps1
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env pwsh
# UnifiSharp build entrypoint (Fallout build). Requires the .NET 10 SDK on PATH
# (see global.json) and, for restoring the Fallout.* build packages, GITHUB_PACKAGES_PAT
# in the environment (a PAT with read:packages on the Fallout-build org; see nuget.config).
# (see global.json). Everything, including the Fallout.* build packages, restores from
# nuget.org with no credentials (see nuget.config).
#
# ./build.ps1 # default target: Test
# ./build.ps1 Pack --version-suffix preview.42
Expand Down
4 changes: 2 additions & 2 deletions build.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# UnifiSharp build entrypoint (Fallout build). Requires the .NET 10 SDK on PATH
# (see global.json) and, for restoring the Fallout.* build packages, GITHUB_PACKAGES_PAT
# in the environment (a PAT with read:packages on the Fallout-build org; see nuget.config).
# (see global.json). Everything, including the Fallout.* build packages, restores from
# nuget.org with no credentials (see nuget.config).
#
# ./build.sh # default target: Test
# ./build.sh Pack --version-suffix preview.42
Expand Down
9 changes: 5 additions & 4 deletions build/_build.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
system, a NUKE successor). Restore/Compile/Test/Pack/Publish targets wrap
the native `dotnet` toolchain; run via ./build.sh / ./build.ps1 or directly
with `dotnet run` on this project (target as the arg). Fallout packages come
from the Fallout-build edge feed (see ../nuget.config); pinned for repro. -->
from nuget.org (10.4.0 stable; the 2026.1.0-preview edge pin was pulled from
the Fallout-build feed, same move as ProxmoxSharp#25); pinned for repro. -->

<PropertyGroup>
<OutputType>Exe</OutputType>
Expand All @@ -20,9 +21,9 @@

<ItemGroup>
<!-- Pinned to the set used across the homelab (matches Homelab/build). Bump deliberately. -->
<PackageReference Include="Fallout.Build" Version="2026.1.0-preview.5.gd84fad5cd7" />
<PackageReference Include="Fallout.Common" Version="2026.1.0-preview.5.gd84fad5cd7" />
<PackageReference Include="Fallout.Components" Version="2026.1.0-preview.5.gd84fad5cd7" />
<PackageReference Include="Fallout.Build" Version="10.4.0" />
<PackageReference Include="Fallout.Common" Version="10.4.0" />
<PackageReference Include="Fallout.Components" Version="10.4.0" />
</ItemGroup>

</Project>
23 changes: 4 additions & 19 deletions nuget.config
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,13 @@
<configuration>
<packageSources>
<clear />
<!-- nuget.org ONLY. Fallout.* (the build system, used only by build/) is the 10.4.0
stable line there. It used to come from the Fallout-build GitHub Packages feed,
pinned to a 2026.1.0-preview edge build that has since been pulled; that feed
and the PACKAGES_PAT it needed are no longer in the build path. -->
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<!-- Fallout (Chris's C#/.NET build system, NUKE successor) ships its edge
channel here — consumed ONLY by the Fallout build under build/. -->
<add key="fallout" value="https://nuget.pkg.github.com/Fallout-build/index.json" />
</packageSources>
<packageSourceCredentials>
<!-- Fallout-build GitHub Packages needs auth. Token comes from the
GITHUB_PACKAGES_PAT env var (fine-grained PAT with read:packages);
never hard-coded — %VAR% is expanded by NuGet at restore. In CI it's
wired from the PACKAGES_PAT secret (see .github/workflows). -->
<fallout>
<add key="Username" value="ChrisonSimtian" />
<add key="ClearTextPassword" value="%GITHUB_PACKAGES_PAT%" />
</fallout>
</packageSourceCredentials>
<!-- Route Fallout.* exclusively to the Fallout-build edge feed (a more-specific
pattern than the nuget.org '*' catch-all, so it wins); everything else
(Microsoft.Kiota.Bundle, runtime deps) resolves from nuget.org. -->
<packageSourceMapping>
<packageSource key="fallout">
<package pattern="Fallout.*" />
</packageSource>
<packageSource key="nuget.org">
<package pattern="*" />
</packageSource>
Expand Down
Loading