name: .NET on: push: branches: [ main ] pull_request: branches: [ main ] env: config: Release disable_test_parallelization: true jobs: build: runs-on: ubuntu-latest timeout-minutes: 20 steps: - name: Setup .NET 7 uses: actions/setup-dotnet@v1 with: dotnet-version: 7.0.x - name: Setup .NET 8 uses: actions/setup-dotnet@v1 with: dotnet-version: 8.0.x - name: Setup .NET 9 uses: actions/setup-dotnet@v1 with: dotnet-version: 9.0.x - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Build Version run: | dotnet tool install --global minver-cli --version 4.2.0 version=$(minver --tag-prefix v) echo "MINVERVERSIONOVERRIDE=$version" >> $GITHUB_ENV echo "### Version: $version" >> $GITHUB_STEP_SUMMARY - name: Test run: ./build.sh ci - name: Package if: github.event_name != 'pull_request' run: ./build.sh pack - name: Publish CI Packages if: github.event_name != 'pull_request' run: | for package in $(find -name "*.nupkg" | grep "minver" -v); do # GitHub if [ -n "${{ secrets.GITHUB_TOKEN }}" ]; then echo "${0##*/}": Pushing $package to GitHub... dotnet nuget push $package --source https://nuget.pkg.github.com/jasperfx/index.json --api-key ${{ secrets.GITHUB_TOKEN }} --skip-duplicate fi # Feedz (remove once GitHub supports anonymous access) if [ -n "${{ secrets.FEEDZ_KEY }}" ]; then echo "${0##*/}": Pushing $package to Feedz... dotnet nuget push $package --source https://f.feedz.io/jasperfx/wolverine/nuget --api-key ${{ secrets.FEEDZ_KEY }} --skip-duplicate fi done - name: Publish Release Packages if: startsWith(github.ref, 'refs/tags/v') run: | for package in $(find -name "*.nupkg" | grep "minver" -v); do echo "${0##*/}": Pushing $package... dotnet nuget push $package --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }} --skip-duplicate done