Skip to content

Protocol: SafeHandle types must have a parameterless constructor. #516

Protocol: SafeHandle types must have a parameterless constructor.

Protocol: SafeHandle types must have a parameterless constructor. #516

Workflow file for this run

name: Build
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-22.04
env:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
DOTNET_CLI_TELEMETRY_OPTOUT: 1
steps:
- name: Install .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: "8.0.x"
- name: Install reportgenerator tool
run: dotnet tool install --global dotnet-reportgenerator-globaltool
- name: Fetch sources
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Run tests
run: |
pushd test/Tmds.DBus.Tests && dotnet test && popd
pushd test/Tmds.DBus.Protocol.Tests && dotnet test --collect:"XPlat Code Coverage" && popd
- name: Build tool
run: |
pushd src/Tmds.DBus.Tool && dotnet build && popd
- name: Build packages
run: |
VERSION_SUFFIX="${{ github.run_number }}-${{ github.sha }}"
dotnet pack src/Tmds.DBus --configuration Release --output src/Tmds.DBus /p:VersionSuffix="$VERSION_SUFFIX"
dotnet pack src/Tmds.DBus.Protocol --configuration Release --output src/Tmds.DBus.Protocol /p:VersionSuffix="$VERSION_SUFFIX"
dotnet pack src/Tmds.DBus.Tool --configuration Release --output src/Tmds.DBus.Tool /p:VersionSuffix="$VERSION_SUFFIX"
- name: Publish packages
run: |
dotnet nuget push -s https://www.myget.org/F/tmds/api/v2/package -k "${{ secrets.NUGET_APIKEY }}" src/Tmds.DBus/*.nupkg
dotnet nuget push -s https://www.myget.org/F/tmds/api/v2/package -k "${{ secrets.NUGET_APIKEY }}" src/Tmds.DBus.Protocol/*.nupkg
dotnet nuget push -s https://www.myget.org/F/tmds/api/v2/package -k "${{ secrets.NUGET_APIKEY }}" src/Tmds.DBus.Tool/*.nupkg
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
- name: Generate coverage report
run: ~/.dotnet/tools/reportgenerator -reports:test/Tmds.DBus.Protocol.Tests/TestResults/*/coverage.cobertura.xml -targetdir:coverage-reports
- name: Upload coverage reports to artifacts
uses: actions/upload-artifact@v3
with:
name: coverage-reports
path: coverage-reports