Merge pull request #3861 from tig/v2_release-merge1126 #706
This file contains 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: Publish Terminal.Gui | |
on: | |
push: | |
branches: [ v1_release, v1_develop, v2_release, v2_develop ] | |
tags: | |
- v* | |
paths-ignore: | |
- '**.md' | |
jobs: | |
publish: | |
name: Build and Publish to Nuget.org | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # fetch-depth is needed for GitVersion | |
- name: Install GitVersion | |
uses: gittools/actions/gitversion/setup@v3 | |
with: | |
versionSpec: '5.x' | |
includePrerelease: true | |
- name: Determine Version | |
uses: gittools/actions/gitversion/execute@v3 | |
with: | |
useConfigFile: true | |
#additionalArguments: /b develop | |
id: gitversion # step id used as reference for output values | |
- name: Setup dotnet | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0 | |
dotnet-quality: 'ga' | |
- name: Install dependencies | |
run: dotnet restore | |
- name: Build Release | |
run: | | |
dotnet-gitversion /updateprojectfiles | |
dotnet build Terminal.Gui/Terminal.Gui.csproj --no-incremental --nologo --force --configuration Release | |
dotnet test Terminal.Gui/Terminal.Gui.csproj --configuration Release | |
- name: Pack | |
run: dotnet pack Terminal.Gui/Terminal.Gui.csproj -c Release --include-symbols -p:Version='${{ steps.gitversion.outputs.SemVer }}' | |
# - name: Test to generate Code Coverage Report | |
# run: | | |
# sed -i 's/"stopOnFail": false/"stopOnFail": true/g' UnitTests/xunit.runner.json | |
# dotnet test --verbosity normal --collect:"XPlat Code Coverage" --settings UnitTests/coverlet.runsettings | |
# mv -v UnitTests/TestResults/*/*.* UnitTests/TestResults/ | |
# - name: Create Test Coverage Badge | |
# uses: simon-k/[email protected] | |
# id: create_coverage_badge | |
# with: | |
# label: Unit Test Coverage | |
# color: brightgreen | |
# path: UnitTests/TestResults/coverage.opencover.xml | |
# gist-filename: code-coverage.json | |
# gist-id: 90ef67a684cb71db1817921a970f8d27 | |
# gist-auth-token: ${{ secrets.GIST_AUTH_TOKEN }} | |
# - name: Print Code Coverage | |
# run: | | |
# echo "Code coverage percentage: ${{steps.create_coverage_badge.outputs.percentage}}%" | |
# echo "Badge data: ${{steps.create_coverage_badge.outputs.badge}}" | |
- name: Publish to NuGet.org | |
run: dotnet nuget push Terminal.Gui/bin/Release/Terminal.Gui.${{ steps.gitversion.outputs.SemVer }}.nupkg --api-key ${{ secrets.NUGET_API_KEY }} |