chore(ci): typo in build outputs #293
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: .NET | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
# Required by release-please | |
permissions: | |
contents: write | |
pull-requests: write | |
jobs: | |
version: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: googleapis/release-please-action@v4 | |
id: release | |
if: github.ref == 'refs/heads/master' | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
release-type: simple | |
- name: Set default build number | |
run: | | |
# https://stackoverflow.com/questions/8653126/how-to-increment-version-number-in-a-shell-script | |
BUILD_VERSION=$(cat version.txt | awk -F. -v OFS=. '{$NF=$NF+1;print}')-pre.${{ github.run_number }} | |
echo "APP_BUILD_VERSION=${BUILD_VERSION}" >> $GITHUB_ENV | |
- name: Update build number | |
if: ${{ steps.release.outputs.release_created }} | |
run: | | |
RELEASE_VERSION=${{ steps.release.outputs.tag_name }} | |
echo "APP_BUILD_VERSION=${RELEASE_VERSION#v}" >> $GITHUB_ENV | |
- name: Final build version | |
run: | | |
echo ${{ env.APP_BUILD_VERSION }} | |
outputs: | |
build_version: ${{ env.APP_BUILD_VERSION }} | |
build: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
needs: [version] | |
env: | |
APP_BUILD_VERSION: ${{ needs.version.outputs.build_version }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup .NET 8.0 | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: 8.x | |
- name: Setup .NET 3.1.x | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: "3.1.x" | |
- name: Package (debug) | |
run: dotnet pack -p:PackageVersion=${{ env.APP_BUILD_VERSION }} | |
- name: Package (release) | |
run: dotnet pack -c Release -p:PackageVersion=${{ env.APP_BUILD_VERSION }} | |
- name: Unit test | |
run: | | |
dotnet test -p:PackageVersion=${{ env.APP_BUILD_VERSION }} test/TestLogger.UnitTests/TestLogger.UnitTests.csproj -p:CollectCoverage=true -p:CoverletOutputFormat=opencover | |
dotnet test -p:PackageVersion=${{ env.APP_BUILD_VERSION }} test/NUnit.Xml.TestLogger.UnitTests/NUnit.Xml.TestLogger.UnitTests.csproj -p:CollectCoverage=true -p:CoverletOutputFormat=opencover | |
dotnet test -p:PackageVersion=${{ env.APP_BUILD_VERSION }} test/JUnit.Xml.TestLogger.UnitTests/JUnit.Xml.TestLogger.UnitTests.csproj -p:CollectCoverage=true -p:CoverletOutputFormat=opencover | |
- name: Acceptance test | |
run: | | |
dotnet test -p:PackageVersion=${{ env.APP_BUILD_VERSION }} test/TestLogger.AcceptanceTests/TestLogger.AcceptanceTests.csproj | |
dotnet test -p:PackageVersion=${{ env.APP_BUILD_VERSION }} test/Xunit.Xml.TestLogger.AcceptanceTests/Xunit.Xml.TestLogger.AcceptanceTests.csproj | |
dotnet test -p:PackageVersion=${{ env.APP_BUILD_VERSION }} test/NUnit.Xml.TestLogger.AcceptanceTests/NUnit.Xml.TestLogger.AcceptanceTests.csproj | |
dotnet test -p:PackageVersion=${{ env.APP_BUILD_VERSION }} test/JUnit.Xml.TestLogger.AcceptanceTests/JUnit.Xml.TestLogger.AcceptanceTests.csproj | |
- name: Upload Verification Files on Fail | |
if: ${{ failure() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Acceptance Test Failure | |
retention-days: 5 | |
path: | | |
**/*.verified.txt | |
**/*.received.txt | |
- name: Codecov | |
uses: codecov/codecov-action@v3.1.0 | |
with: | |
files: test/TestLogger.UnitTests/coverage.opencover.xml | |
- name: Publish packages | |
if: ${{ github.event_name == 'push' && matrix.os == 'ubuntu-latest' }} | |
run: | | |
dotnet nuget push 'src/TestLogger/bin/Release/*.nupkg' --api-key ${{ secrets.SPEKT_MYGET_KEY }} --source https://www.myget.org/F/spekt/api/v3/index.json | |
dotnet nuget push 'src/Xunit.Xml.Package/bin/Release/*.nupkg' --api-key ${{ secrets.SPEKT_MYGET_KEY }} --source https://www.myget.org/F/spekt/api/v3/index.json | |
dotnet nuget push 'src/NUnit.Xml.Package/bin/Release/*.nupkg' --api-key ${{ secrets.SPEKT_MYGET_KEY }} --source https://www.myget.org/F/spekt/api/v3/index.json | |
dotnet nuget push 'src/JUnit.Xml.Package/bin/Release/*.nupkg' --api-key ${{ secrets.SPEKT_MYGET_KEY }} --source https://www.myget.org/F/spekt/api/v3/index.json |