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 @@ + + + + + + + + + + + +