From d3c14e055c5b8b0d09b66da3821bf60e17a72033 Mon Sep 17 00:00:00 2001 From: iammukeshm Date: Sat, 30 May 2026 14:58:14 +0530 Subject: [PATCH] chore(release): publish only the CLI + template to NuGet (source-ownership); silence template-pack warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The publish-release job packed per-module/BuildingBlocks NuGets (only 4 of 10 modules, inconsistently) and pushed them — contradicting the locked source-ownership distribution model where consumers get the full source via `dotnet new fsh`, not runtime packages. Only the `fsh` CLI tool and the template package now publish. Also suppress NU5110/NU5111 on the template pack: the bundled Terraform deploy.ps1 files are template content, not NuGet install scripts, and must stay where they are. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/backend.yml | 29 ++++--------------- templates/FullStackHero.NET.StarterKit.csproj | 5 +++- 2 files changed, 9 insertions(+), 25 deletions(-) diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml index cdf28284a7..fc19ed12f5 100644 --- a/.github/workflows/backend.yml +++ b/.github/workflows/backend.yml @@ -359,30 +359,11 @@ jobs: dotnet restore src/FSH.Starter.slnx dotnet build src/FSH.Starter.slnx -c Release --no-restore -p:Version=${{ steps.version.outputs.version }} - - name: Pack BuildingBlocks - run: | - dotnet pack src/BuildingBlocks/Core/Core.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - dotnet pack src/BuildingBlocks/Shared/Shared.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - dotnet pack src/BuildingBlocks/Persistence/Persistence.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - dotnet pack src/BuildingBlocks/Caching/Caching.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - dotnet pack src/BuildingBlocks/Mailing/Mailing.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - dotnet pack src/BuildingBlocks/Jobs/Jobs.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - dotnet pack src/BuildingBlocks/Storage/Storage.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - dotnet pack src/BuildingBlocks/Eventing/Eventing.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - dotnet pack src/BuildingBlocks/Eventing.Abstractions/Eventing.Abstractions.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - dotnet pack src/BuildingBlocks/Web/Web.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - - - name: Pack Modules - run: | - dotnet pack src/Modules/Auditing/Modules.Auditing.Contracts/Modules.Auditing.Contracts.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - dotnet pack src/Modules/Auditing/Modules.Auditing/Modules.Auditing.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - dotnet pack src/Modules/Identity/Modules.Identity.Contracts/Modules.Identity.Contracts.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - dotnet pack src/Modules/Identity/Modules.Identity/Modules.Identity.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - dotnet pack src/Modules/Multitenancy/Modules.Multitenancy.Contracts/Modules.Multitenancy.Contracts.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - dotnet pack src/Modules/Multitenancy/Modules.Multitenancy/Modules.Multitenancy.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - dotnet pack src/Modules/Webhooks/Modules.Webhooks.Contracts/Modules.Webhooks.Contracts.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - dotnet pack src/Modules/Webhooks/Modules.Webhooks/Modules.Webhooks.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} - + # Distribution model is source-ownership: consumers get the FULL source via the + # `dotnet new fsh` template (below), NOT per-module/BuildingBlocks NuGet packages. + # Only two artifacts publish to NuGet — the `fsh` global CLI tool and the template. + # (The previous per-module packs were incomplete — 4 of 10 modules — and contradicted + # the locked source-ownership model, so they were removed.) - name: Pack CLI Tool run: dotnet pack src/Tools/CLI/FSH.CLI.csproj -c Release --no-build -o ./nupkgs -p:PackageVersion=${{ steps.version.outputs.version }} diff --git a/templates/FullStackHero.NET.StarterKit.csproj b/templates/FullStackHero.NET.StarterKit.csproj index c106911e52..3f9004daae 100644 --- a/templates/FullStackHero.NET.StarterKit.csproj +++ b/templates/FullStackHero.NET.StarterKit.csproj @@ -31,7 +31,10 @@ net10.0 true false - $(NoWarn);NU5128 + + $(NoWarn);NU5128;NU5110;NU5111 true false true