Skip to content

Merge pull request #2 from psachmann/feat/publish #1

Merge pull request #2 from psachmann/feat/publish

Merge pull request #2 from psachmann/feat/publish #1

Workflow file for this run

name: Release
on:
push:
tags: ['v*']
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: Cache NuGet packages
uses: actions/cache@v5
with:
path: ~/.nuget/packages
key: nuget-${{ runner.os }}-${{ hashFiles('**/*.csproj', 'Directory.Packages.props') }}
restore-keys: |
nuget-${{ runner.os }}
nuget
- name: Restore tools
run: dotnet tool restore
- name: Restore packages
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Expose GitHub Actions Runtime
uses: actions/github-script@v8
with:
script: |
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env['ACTIONS_RUNTIME_TOKEN']);
core.exportVariable('ACTIONS_RESULTS_URL', process.env['ACTIONS_RESULTS_URL']);
- name: Test
run: dotnet test --configuration Release --no-restore --no-build -- --coverage --coverage-output-format cobertura
- name: Pack
run: dotnet pack --configuration Release --no-build --output ./artifacts
- name: Push to NuGet
run: |
dotnet nuget push ./artifacts/*.nupkg \
--api-key ${{ secrets.NUGET_API_KEY }} \
--source https://api.nuget.org/v3/index.json \
--skip-duplicate
dotnet nuget push ./artifacts/*.snupkg \
--api-key ${{ secrets.NUGET_API_KEY }} \
--source https://api.nuget.org/v3/index.json \
--skip-duplicate
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
files: ./artifacts/*
prerelease: ${{ contains(github.ref_name, '-') }}