.github/workflows/main.yml
name: build
on:
push:
branches:
- master
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: setup dotnet
uses: actions/setup-dotnet@v3
with:
dotnet-version: '8.0.x'
- name: dotnet build
working-directory: src
run: |
dotnet restore
dotnet build -c Release --no-restore
- name: dotnet test
working-directory: src
run: |
dotnet test -c Release --no-restore --no-build \
/p:CollectCoverage=true \
/p:CoverletOutputFormat=opencover \
/p:CoverletOutput="../TestResults/" \
/p:MergeWith="../TestResults/coverage.opencover.xml"
- name: publish report to codecov.io
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: src/TestResults/coverage.opencover.xml
flags: unittests
- name: Generate NuGet package
working-directory: src/SimplePluralizer
run: |
dotnet pack --nologo --no-build -c Release -o out
dotnet nuget push out/*.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_APIKEY }} --skip-duplicate