Remove net5 artifacts from remaining projects (#2408) #634
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and deploy to Nuget | |
| on: | |
| push: | |
| branches: | |
| - dev | |
| tags: | |
| - "*" | |
| env: | |
| DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION: 1 | |
| TERM: xterm | |
| jobs: | |
| test-slow: # slow tests that should run in parallel | |
| runs-on: ubuntu-latest | |
| services: | |
| redis: | |
| image: redis | |
| ports: | |
| - 6379/tcp | |
| options: --entrypoint redis-server | |
| strategy: | |
| matrix: | |
| dotnet: | |
| - net8.0 | |
| test: | |
| - "tests/Proto.Cluster.Tests/*.csproj" | |
| - "tests/Proto.Cluster.PartitionIdentity.Tests/*.csproj" | |
| - "tests/Proto.Cluster.RedisIdentity.Tests/*.csproj" | |
| - "tests/Proto.Cluster.PubSub.Tests/*.csproj" | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 1 | |
| - uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: | | |
| 8.0.x | |
| cache: true | |
| cache-dependency-path: | | |
| Directory.Packages.props | |
| **/*.csproj | |
| - name: Restore bin/obj cache | |
| id: cache | |
| uses: actions/cache/restore@v3 | |
| with: | |
| path: | | |
| **/bin | |
| **/obj | |
| key: ${{ hashFiles('**/*.csproj', 'Directory.Packages.props') }} | |
| - name: Restore dependencies | |
| run: dotnet restore ProtoActor.sln | |
| - name: Run tests ${{ matrix.test }} | |
| timeout-minutes: 15 | |
| env: | |
| ConnectionStrings__Redis: localhost:${{ job.services.redis.ports[6379] }},syncTimeout=10000 | |
| run: | | |
| dotnet test ${{ matrix.test }} -c Release -f ${{ matrix.dotnet }} --logger GitHubActions | |
| - name: Save bin/obj cache | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| uses: actions/cache/save@v3 | |
| with: | |
| path: | | |
| **/bin | |
| **/obj | |
| key: ${{ steps.cache.outputs.cache-primary-key }} | |
| test-fast: # fast tests where setting up a parallel job run is more overhead than just running the tests side by side | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| test: | |
| - "tests/Proto.Actor.Tests/*.csproj" | |
| - "tests/Proto.Remote.Tests/*.csproj" | |
| # "tests/Proto.Persistence.Tests/*.csproj" | |
| - "tests/Proto.OpenTelemetry.Tests/*.csproj" | |
| - "tests/Proto.Cluster.CodeGen.Tests/*.csproj" | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 1 | |
| - uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: | | |
| 8.0.x | |
| cache: true | |
| cache-dependency-path: | | |
| Directory.Packages.props | |
| **/*.csproj | |
| - name: Restore bin/obj cache | |
| id: cache | |
| uses: actions/cache/restore@v3 | |
| with: | |
| path: | | |
| **/bin | |
| **/obj | |
| key: ${{ hashFiles('**/*.csproj', 'Directory.Packages.props') }} | |
| - name: Restore dependencies | |
| run: dotnet restore ProtoActor.sln | |
| - name: Run tests ${{ matrix.test }} | |
| timeout-minutes: 15 | |
| run: | | |
| dotnet test ${{ matrix.test }} -c Release --logger GitHubActions | |
| - name: Save bin/obj cache | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| uses: actions/cache/save@v3 | |
| with: | |
| path: | | |
| **/bin | |
| **/obj | |
| key: ${{ steps.cache.outputs.cache-primary-key }} | |
| nuget: | |
| runs-on: ubuntu-latest | |
| needs: [test-slow, test-fast] | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 0 # Full history required for versioning | |
| - uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: | | |
| 8.0.x | |
| cache: true | |
| cache-dependency-path: | | |
| Directory.Packages.props | |
| **/*.csproj | |
| - name: Restore bin/obj cache | |
| id: cache | |
| uses: actions/cache/restore@v3 | |
| with: | |
| path: | | |
| **/bin | |
| **/obj | |
| key: ${{ hashFiles('**/*.csproj', 'Directory.Packages.props') }} | |
| - name: Restore dependencies | |
| run: dotnet restore ProtoActor.sln | |
| - name: Create and push NuGet package | |
| run: | | |
| dotnet pack ProtoActor.sln -c Release -o nuget -p:SymbolPackageFormat=snupkg -p:GenerateDocumentationFile=true -p:NoWarn=CS1591 | |
| dotnet nuget push nuget/**/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate | |
| - name: Save bin/obj cache | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| uses: actions/cache/save@v3 | |
| with: | |
| path: | | |
| **/bin | |
| **/obj | |
| key: ${{ steps.cache.outputs.cache-primary-key }} |