From 75491d65e286af00577a076de6460b7a70c40ba4 Mon Sep 17 00:00:00 2001 From: HueByte Date: Sat, 21 Feb 2026 17:15:12 +0100 Subject: [PATCH] feat: add nuget.config for package source management and update CI workflows to restore dependencies correctly --- .github/workflows/ci.yml | 7 +++++-- .github/workflows/docs.yml | 5 ++++- .github/workflows/release.yml | 20 ++++++++++++-------- nuget.config | 12 ++++++++++++ 4 files changed, 33 insertions(+), 11 deletions(-) create mode 100644 nuget.config diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 534cfa6..4f5ef69 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,8 +30,11 @@ jobs: with: dotnet-version: '10.0.x' + - name: Restore dependencies + run: dotnet restore src/EchoHub.slnx --configfile nuget.config + - name: Check formatting - run: dotnet format src/EchoHub.slnx --verify-no-changes --verbosity diagnostic + run: dotnet format src/EchoHub.slnx --no-restore --verify-no-changes --verbosity diagnostic build-and-test: name: Build & Test @@ -75,7 +78,7 @@ jobs: - name: Restore dependencies if: steps.changes.outputs.src_changed == 'true' - run: dotnet restore src/EchoHub.slnx + run: dotnet restore src/EchoHub.slnx --configfile nuget.config - name: Build if: steps.changes.outputs.src_changed == 'true' diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index fbde50f..1f805b2 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -34,8 +34,11 @@ jobs: - name: Restore .NET tools run: dotnet tool restore + - name: Restore dependencies + run: dotnet restore src/EchoHub.slnx --configfile nuget.config + - name: Build solution - run: dotnet build src/EchoHub.slnx --configuration Release + run: dotnet build src/EchoHub.slnx --no-restore --configuration Release - name: Generate documentation run: dotnet docfx docs/docfx.json diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 62f6db3..048d66b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -56,37 +56,41 @@ jobs: with: dotnet-version: '10.0.x' + - name: Restore dependencies + if: steps.changes.outputs.src_changed == 'true' && steps.check_release.outputs.exists == 'false' + run: dotnet restore src/EchoHub.slnx --configfile nuget.config + - name: Publish Server win-x64 if: steps.changes.outputs.src_changed == 'true' && steps.check_release.outputs.exists == 'false' - run: dotnet publish src/EchoHub.Server/EchoHub.Server.csproj -c Release -r win-x64 --self-contained true -o publish/server-win-x64 + run: dotnet publish src/EchoHub.Server/EchoHub.Server.csproj -c Release -r win-x64 --self-contained true --no-restore -o publish/server-win-x64 - name: Publish Server linux-x64 if: steps.changes.outputs.src_changed == 'true' && steps.check_release.outputs.exists == 'false' - run: dotnet publish src/EchoHub.Server/EchoHub.Server.csproj -c Release -r linux-x64 --self-contained true -o publish/server-linux-x64 + run: dotnet publish src/EchoHub.Server/EchoHub.Server.csproj -c Release -r linux-x64 --self-contained true --no-restore -o publish/server-linux-x64 - name: Publish Server osx-x64 if: steps.changes.outputs.src_changed == 'true' && steps.check_release.outputs.exists == 'false' - run: dotnet publish src/EchoHub.Server/EchoHub.Server.csproj -c Release -r osx-x64 --self-contained true -o publish/server-osx-x64 + run: dotnet publish src/EchoHub.Server/EchoHub.Server.csproj -c Release -r osx-x64 --self-contained true --no-restore -o publish/server-osx-x64 - name: Publish Server osx-arm64 if: steps.changes.outputs.src_changed == 'true' && steps.check_release.outputs.exists == 'false' - run: dotnet publish src/EchoHub.Server/EchoHub.Server.csproj -c Release -r osx-arm64 --self-contained true -o publish/server-osx-arm64 + run: dotnet publish src/EchoHub.Server/EchoHub.Server.csproj -c Release -r osx-arm64 --self-contained true --no-restore -o publish/server-osx-arm64 - name: Publish Client win-x64 if: steps.changes.outputs.src_changed == 'true' && steps.check_release.outputs.exists == 'false' - run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r win-x64 --self-contained true -o publish/client-win-x64 + run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r win-x64 --self-contained true --no-restore -o publish/client-win-x64 - name: Publish Client linux-x64 if: steps.changes.outputs.src_changed == 'true' && steps.check_release.outputs.exists == 'false' - run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r linux-x64 --self-contained true -o publish/client-linux-x64 + run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r linux-x64 --self-contained true --no-restore -o publish/client-linux-x64 - name: Publish Client osx-x64 if: steps.changes.outputs.src_changed == 'true' && steps.check_release.outputs.exists == 'false' - run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r osx-x64 --self-contained true -o publish/client-osx-x64 + run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r osx-x64 --self-contained true --no-restore -o publish/client-osx-x64 - name: Publish Client osx-arm64 if: steps.changes.outputs.src_changed == 'true' && steps.check_release.outputs.exists == 'false' - run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r osx-arm64 --self-contained true -o publish/client-osx-arm64 + run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r osx-arm64 --self-contained true --no-restore -o publish/client-osx-arm64 - name: Zip artifacts if: steps.changes.outputs.src_changed == 'true' && steps.check_release.outputs.exists == 'false' diff --git a/nuget.config b/nuget.config new file mode 100644 index 0000000..4e800bf --- /dev/null +++ b/nuget.config @@ -0,0 +1,12 @@ + + + + + + + + + + + +