name: CI on: [push, pull_request] env: VERSION: "4.1.4.${{github.run_number}}" jobs: build: runs-on: windows-2022 steps: - name: Setup Windows SDK uses: GuillaumeFalourd/setup-windows10-sdk-action@v1 with: sdk-version: 18362 - name: Setup .NET SDK uses: actions/setup-dotnet@v1.9.0 with: dotnet-version: | 3.1.x 6.0.x - name: Setup MSBuild uses: microsoft/setup-msbuild@v1.1 - name: Checkout Code uses: actions/checkout@v2 - name: Setup Signing Certificate run: | $secret = '${{ secrets.SNC_BASE64 }}' $decoded = [System.Convert]::FromBase64CharArray($secret, 0, $secret.Length) Set-Content -Path ${{ github.workspace }}\certificate.snk -Value $decoded -AsByteStream - name: Restore nuget packages run: msbuild MQTTnet.sln /t:Restore /p:Configuration="Release" /verbosity:m - name: Build solution run: msbuild MQTTnet.sln /t:Build /p:Configuration="Release" /verbosity:m /p:FileVersion=${{ env.VERSION }} /p:AssemblyVersion=${{ env.VERSION }} /p:PackageVersion=${{ env.VERSION }} /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=${{ github.workspace }}\certificate.snk - name: Collect nuget Packages uses: actions/upload-artifact@v2 with: name: nuget Packages path: | **\*.nupkg **\*.snupkg - name: Setup VSTest uses: darenm/Setup-VSTest@v1 - name: Core Tests run: vstest.console.exe Source\MQTTnet.Tests\bin\Release\net6.0\MQTTnet.Tests.dll - name: ASP.NET Tests run: vstest.console.exe Source\MQTTnet.AspNetCore.Tests\bin\Release\net6.0\MQTTnet.AspNetCore.Tests.dll - name: Publish MyGet nugets if: ${{ github.event_name == 'push' }} run: dotnet nuget push **/*.nupkg -k ${{ secrets.MYGET_API_KEY }} -s https://www.myget.org/F/mqttnet/api/v3/index.json --skip-duplicate