mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-15 00:15:15 +08:00
* Remove WebSocket4Net extension library * Remove UWP support * Drop support for all old frameworks * Update CI * Update CI * Update CI * Update CI * Remove obsolete code * Set default protocol version to 5.0.0 * Remove obsolete tests * Remove old dependencies * Reset release notes * Move server to dedicated project * Fix unit tests * Update and cleanup nuget packages * Fix unit tests Refactor code * No longer throw exception when receiving non success CONNACK * Enable nuget signing * Enable nuget signing * Enable nuget signing * Enable nuget signing * Enable nuget signing * Enable nuget signing * Enable nuget signing * Enable nuget signing * Enable code signing * Enable code signing * Enable code signing * Fix client endpoint handling * Improve CI * Fix CI * Fix CI * Fix CI * Fix CI * Import changes from version 4 * Cleanup target frameworks and remove obsolete code * Drop support for dotnet7.0 * Remove managed client * Version5 auditmode (#2016) Added NuGet audit mode and some other settings to get informed about security issues. * Address warnings from analyzers * Support for ReadOnlySequence as payload (#2046) * use ReadOnlySequence as payload * fix build * fix build * skip sign in forks * remove unnecessary owner * tests and extensions * remove test * simplify WritePacketBuffer, remove unused helper * Adjust namespaces * Fix build errors * Import latest fixes from main branch * Adjust namespaces --------- Co-authored-by: SeppPenner <HansM2013@gmx.de> Co-authored-by: Martin Regen <mregen@microsoft.com>
122 lines
3.6 KiB
YAML
122 lines
3.6 KiB
YAML
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
env:
|
|
VERSION: "5.0.0.${{github.run_number}}"
|
|
PACKAGE_SUFFIX: "-beta"
|
|
|
|
jobs:
|
|
build:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Setup .NET SDK
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: |
|
|
8.0.x
|
|
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Build package
|
|
run: dotnet build MQTTnet.sln --configuration Release /p:FileVersion=${{ env.VERSION }} /p:AssemblyVersion=${{ env.VERSION }} /p:PackageVersion=${{ env.VERSION }}${{ env.PACKAGE_SUFFIX }}
|
|
|
|
- name: Upload nuget packages
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: nugets
|
|
path: |
|
|
${{ github.workspace }}/Source/**/*.nupkg
|
|
${{ github.workspace }}/Source/**/*.snupkg
|
|
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Setup .NET SDK
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: |
|
|
8.0.x
|
|
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Execute tests
|
|
run: dotnet test --framework net8.0 Source/MQTTnet.Tests/MQTTnet.Tests.csproj
|
|
|
|
sign:
|
|
needs: build
|
|
runs-on: windows-latest # Code signing must run on a Windows agent for Authenticode signing (dll/exe)
|
|
if: github.repository == 'dotnet/MQTTnet'
|
|
steps:
|
|
- name: Setup .NET SDK
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: |
|
|
6.0.x
|
|
|
|
- name: Download nuget packages
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: nugets
|
|
path: nugets
|
|
|
|
- name: Install sign CLI tool
|
|
run: dotnet tool install --tool-path . sign --version 0.9.0-beta.23127.3
|
|
|
|
- name: Sign nugets
|
|
shell: pwsh
|
|
run: >
|
|
./sign code azure-key-vault `
|
|
"**/*.nupkg" `
|
|
--base-directory "${{ github.workspace }}\nugets" `
|
|
--publisher-name "MQTTnet" `
|
|
--description "MQTTnet" `
|
|
--description-url "https://github.com/dotnet/MQTTnet" `
|
|
--azure-key-vault-tenant-id "${{ secrets.AZURE_TENANT_ID }}" `
|
|
--azure-key-vault-client-id "${{ secrets.AZURE_CLIENT_ID }}" `
|
|
--azure-key-vault-client-secret "${{ secrets.AZURE_CLIENT_SECRET }}" `
|
|
--azure-key-vault-certificate "${{ secrets.KEY_VAULT_CERTIFICATE_ID }}" `
|
|
--azure-key-vault-url "${{ secrets.KEY_VAULT_URL }}"
|
|
|
|
- name: Upload signed nuget packages
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: signed-nugets
|
|
path: |
|
|
${{ github.workspace }}\nugets\**\*.nupkg
|
|
${{ github.workspace }}\nugets\**\*.snupkg
|
|
|
|
publish-myget:
|
|
if: ${{ github.event_name == 'push' }}
|
|
needs: sign
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Download signed nuget packages
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: signed-nugets
|
|
path: nugets
|
|
|
|
- name: Publish myget.com nugets
|
|
run: dotnet nuget push ${{ github.workspace }}/nugets/**/*.nupkg -k ${{ secrets.MYGET_API_KEY }} -s https://www.myget.org/F/mqttnet/api/v3/index.json --skip-duplicate
|
|
|
|
publish-nuget:
|
|
if: ${{ github.event_name == 'release' }}
|
|
needs: sign
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Download signed nuget packages
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: signed-nugets
|
|
path: nugets
|
|
|
|
- name: Publish nuget.org nugets
|
|
run: dotnet nuget push ${{ github.workspace }}/nugets/**/*.nupkg -k ${{ secrets.NUGET_API_KEY }} -s https://api.nuget.org/v3/index.json --skip-duplicate |