Update dependency dotnet-sdk to v10 (#171) #835
This file contains hidden or 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
| # SPDX-FileCopyrightText: 2018-2025 tdlib.native contributors <https://github.com/ForNeVeR/tdlib.native> | |
| # | |
| # SPDX-License-Identifier: BSL-1.0 | |
| # This file is auto-generated. | |
| name: Main | |
| on: | |
| push: | |
| branches: | |
| - master | |
| tags: | |
| - v* | |
| pull_request: | |
| branches: | |
| - master | |
| schedule: | |
| - cron: 0 0 * * 1 | |
| workflow_dispatch: | |
| jobs: | |
| licenses: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out the sources | |
| uses: actions/checkout@v6 | |
| - name: REUSE license check | |
| uses: fsfe/reuse-action@v6 | |
| verify-workflows: | |
| runs-on: ubuntu-latest | |
| env: | |
| DOTNET_CLI_TELEMETRY_OPTOUT: 1 | |
| DOTNET_NOLOGO: 1 | |
| NUGET_PACKAGES: ${{ github.workspace }}/.github/nuget-packages | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-dotnet@v5 | |
| - run: dotnet fsi ./github-actions.fsx verify | |
| build-ubuntu-22-04-x86-64: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Check out the sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Generate cache key | |
| shell: pwsh | |
| run: ./common/Test-UpToDate.ps1 -GenerateCacheKey | |
| - name: Cache artifacts | |
| uses: actions/cache@v5 | |
| with: | |
| key: ubuntu-22.04.x86-64.${{ hashFiles('.github/cache-key.json') }} | |
| path: artifacts | |
| - name: Install | |
| shell: pwsh | |
| run: ./linux/install.ps1 -ForBuild | |
| - name: Build | |
| shell: pwsh | |
| run: ./linux/build.ps1 | |
| - name: Prepare artifact | |
| shell: pwsh | |
| run: ./linux/prepare-artifacts.ps1 | |
| - name: 'Prepare artifact: verify produced file' | |
| shell: pwsh | |
| run: if (!(Test-Path -LiteralPath 'artifacts/libtdjson.so')) { throw 'File not found' } | |
| - name: Upload build result | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: tdlib.native.ubuntu-22.04.x86-64 | |
| path: artifacts/* | |
| build-ubuntu-22-04-aarch64: | |
| runs-on: ubuntu-22.04-arm | |
| steps: | |
| - name: Check out the sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Generate cache key | |
| shell: pwsh | |
| run: ./common/Test-UpToDate.ps1 -GenerateCacheKey | |
| - name: Cache artifacts | |
| uses: actions/cache@v5 | |
| with: | |
| key: ubuntu-22.04.aarch64.${{ hashFiles('.github/cache-key.json') }} | |
| path: artifacts | |
| - name: Install | |
| shell: pwsh | |
| run: ./linux/install.ps1 -ForBuild | |
| - name: Build | |
| shell: pwsh | |
| run: ./linux/build.ps1 | |
| - name: Prepare artifact | |
| shell: pwsh | |
| run: ./linux/prepare-artifacts.ps1 | |
| - name: 'Prepare artifact: verify produced file' | |
| shell: pwsh | |
| run: if (!(Test-Path -LiteralPath 'artifacts/libtdjson.so')) { throw 'File not found' } | |
| - name: Upload build result | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: tdlib.native.ubuntu-22.04.aarch64 | |
| path: artifacts/* | |
| build-macos-aarch64: | |
| runs-on: macos-14 | |
| steps: | |
| - name: Check out the sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Generate cache key | |
| shell: pwsh | |
| run: ./common/Test-UpToDate.ps1 -GenerateCacheKey | |
| - name: Cache artifacts | |
| uses: actions/cache@v5 | |
| with: | |
| key: macos.aarch64.${{ hashFiles('.github/cache-key.json') }} | |
| path: artifacts | |
| - name: Install | |
| shell: pwsh | |
| run: ./macos/install.ps1 | |
| - name: Build | |
| shell: pwsh | |
| run: ./macos/build.ps1 | |
| - name: Prepare artifact | |
| shell: pwsh | |
| run: ./macos/prepare-artifacts.ps1 | |
| - name: 'Prepare artifact: verify produced file' | |
| shell: pwsh | |
| run: if (!(Test-Path -LiteralPath 'artifacts/libtdjson.dylib')) { throw 'File not found' } | |
| - name: Upload build result | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: tdlib.native.macos.aarch64 | |
| path: artifacts/* | |
| build-macos-x86-64: | |
| runs-on: macos-15-intel | |
| steps: | |
| - name: Check out the sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Generate cache key | |
| shell: pwsh | |
| run: ./common/Test-UpToDate.ps1 -GenerateCacheKey | |
| - name: Cache artifacts | |
| uses: actions/cache@v5 | |
| with: | |
| key: macos.x86-64.${{ hashFiles('.github/cache-key.json') }} | |
| path: artifacts | |
| - name: Install | |
| shell: pwsh | |
| run: ./macos/install.ps1 | |
| - name: Build | |
| shell: pwsh | |
| run: ./macos/build.ps1 | |
| - name: Prepare artifact | |
| shell: pwsh | |
| run: ./macos/prepare-artifacts.ps1 | |
| - name: 'Prepare artifact: verify produced file' | |
| shell: pwsh | |
| run: if (!(Test-Path -LiteralPath 'artifacts/libtdjson.dylib')) { throw 'File not found' } | |
| - name: Upload build result | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: tdlib.native.macos.x86-64 | |
| path: artifacts/* | |
| build-windows-x86-64: | |
| runs-on: windows-2022 | |
| steps: | |
| - name: Check out the sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Generate cache key | |
| shell: pwsh | |
| run: ./common/Test-UpToDate.ps1 -GenerateCacheKey | |
| - name: Cache artifacts | |
| uses: actions/cache@v5 | |
| with: | |
| key: windows.x86-64.${{ hashFiles('.github/cache-key.json') }} | |
| path: artifacts | |
| - name: Build | |
| shell: pwsh | |
| run: ./windows/build.ps1 -VcpkgToolchain c:\vcpkg\scripts\buildsystems\vcpkg.cmake -DotNetArch x64 | |
| - name: Prepare artifact | |
| shell: pwsh | |
| run: ./windows/prepare-artifacts.ps1 | |
| - name: 'Prepare artifact: verify produced file' | |
| shell: pwsh | |
| run: if (!(Test-Path -LiteralPath 'artifacts/tdjson.dll')) { throw 'File not found' } | |
| - name: Upload build result | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: tdlib.native.windows.x86-64 | |
| path: artifacts/* | |
| build-windows-aarch64: | |
| runs-on: windows-11-arm | |
| steps: | |
| - name: Check out the sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Generate cache key | |
| shell: pwsh | |
| run: ./common/Test-UpToDate.ps1 -GenerateCacheKey | |
| - name: Cache artifacts | |
| uses: actions/cache@v5 | |
| with: | |
| key: windows.aarch64.${{ hashFiles('.github/cache-key.json') }} | |
| path: artifacts | |
| - name: Build | |
| shell: pwsh | |
| run: ./windows/build.ps1 -VcpkgToolchain c:\vcpkg\scripts\buildsystems\vcpkg.cmake -DotNetArch arm64 | |
| - name: Prepare artifact | |
| shell: pwsh | |
| run: ./windows/prepare-artifacts.ps1 | |
| - name: 'Prepare artifact: verify produced file' | |
| shell: pwsh | |
| run: if (!(Test-Path -LiteralPath 'artifacts/tdjson.dll')) { throw 'File not found' } | |
| - name: Upload build result | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: tdlib.native.windows.aarch64 | |
| path: artifacts/* | |
| test-ubuntu-22-04-x86-64: | |
| needs: | |
| - build-ubuntu-22-04-x86-64 | |
| runs-on: ubuntu-22.04 | |
| env: | |
| DOTNET_CLI_TELEMETRY_OPTOUT: 1 | |
| DOTNET_NOLOGO: 1 | |
| NUGET_PACKAGES: ${{ github.workspace }}/.github/nuget-packages | |
| steps: | |
| - name: Check out the sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Install | |
| shell: pwsh | |
| run: ./linux/install.ps1 -ForTests | |
| - name: 'Download artifact: ubuntu-22.04.x86-64' | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: tdlib.native.ubuntu-22.04.x86-64 | |
| path: build/tdlib.native.linux-x64/runtimes/linux-x64/native | |
| - name: Verify library dependencies | |
| shell: pwsh | |
| run: ./linux/Test-Dependencies.ps1 -Platform ubuntu-22.04 -DotNetArch x64 -PackageName tdlib.native.linux-x64 | |
| - name: Set up .NET SDK | |
| uses: actions/setup-dotnet@v5 | |
| - id: version | |
| name: Read version | |
| shell: pwsh | |
| run: echo "version=$(common/Get-Version.ps1 -RefName $env:GITHUB_REF)" >> $env:GITHUB_OUTPUT | |
| - name: Pack NuGet | |
| shell: pwsh | |
| run: dotnet pack tdlib.native.linux-x64.proj -p:Version=${{ steps.version.outputs.version }}-test --output build | |
| - name: NuGet cache | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ runner.os }}.nuget.${{ hashFiles('**/*.*proj') }} | |
| path: ${{ github.workspace }}/.github/nuget-packages | |
| - name: Test | |
| shell: pwsh | |
| run: ./common/test.ps1 -PackageName tdlib.native.linux-x64 | |
| test-ubuntu-22-04-aarch64: | |
| needs: | |
| - build-ubuntu-22-04-aarch64 | |
| runs-on: ubuntu-22.04-arm | |
| env: | |
| DOTNET_CLI_TELEMETRY_OPTOUT: 1 | |
| DOTNET_NOLOGO: 1 | |
| NUGET_PACKAGES: ${{ github.workspace }}/.github/nuget-packages | |
| steps: | |
| - name: Check out the sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Install | |
| shell: pwsh | |
| run: ./linux/install.ps1 -ForTests | |
| - name: 'Download artifact: ubuntu-22.04.aarch64' | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: tdlib.native.ubuntu-22.04.aarch64 | |
| path: build/tdlib.native.linux-arm64/runtimes/linux-arm64/native | |
| - name: Verify library dependencies | |
| shell: pwsh | |
| run: ./linux/Test-Dependencies.ps1 -Platform ubuntu-22.04 -DotNetArch arm64 -PackageName tdlib.native.linux-arm64 | |
| - name: Set up .NET SDK | |
| uses: actions/setup-dotnet@v5 | |
| - id: version | |
| name: Read version | |
| shell: pwsh | |
| run: echo "version=$(common/Get-Version.ps1 -RefName $env:GITHUB_REF)" >> $env:GITHUB_OUTPUT | |
| - name: Pack NuGet | |
| shell: pwsh | |
| run: dotnet pack tdlib.native.linux-arm64.proj -p:Version=${{ steps.version.outputs.version }}-test --output build | |
| - name: NuGet cache | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ runner.os }}.nuget.${{ hashFiles('**/*.*proj') }} | |
| path: ${{ github.workspace }}/.github/nuget-packages | |
| - name: Test | |
| shell: pwsh | |
| run: ./common/test.ps1 -PackageName tdlib.native.linux-arm64 | |
| test-macos-aarch64: | |
| needs: | |
| - build-macos-aarch64 | |
| runs-on: macos-14 | |
| env: | |
| DOTNET_CLI_TELEMETRY_OPTOUT: 1 | |
| DOTNET_NOLOGO: 1 | |
| NUGET_PACKAGES: ${{ github.workspace }}/.github/nuget-packages | |
| steps: | |
| - name: Check out the sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: 'Download artifact: macos.aarch64' | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: tdlib.native.macos.aarch64 | |
| path: build/tdlib.native.osx-arm64/runtimes/osx-arm64/native | |
| - name: Verify library dependencies | |
| shell: pwsh | |
| run: ./macos/Test-Dependencies.ps1 -DotNetArch arm64 -PackageName tdlib.native.osx-arm64 | |
| - name: Set up .NET SDK | |
| uses: actions/setup-dotnet@v5 | |
| - id: version | |
| name: Read version | |
| shell: pwsh | |
| run: echo "version=$(common/Get-Version.ps1 -RefName $env:GITHUB_REF)" >> $env:GITHUB_OUTPUT | |
| - name: Pack NuGet | |
| shell: pwsh | |
| run: dotnet pack tdlib.native.osx-arm64.proj -p:Version=${{ steps.version.outputs.version }}-test --output build | |
| - name: NuGet cache | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ runner.os }}.nuget.${{ hashFiles('**/*.*proj') }} | |
| path: ${{ github.workspace }}/.github/nuget-packages | |
| - name: Test | |
| shell: pwsh | |
| run: ./common/test.ps1 -PackageName tdlib.native.osx-arm64 | |
| test-macos-x86-64: | |
| needs: | |
| - build-macos-x86-64 | |
| runs-on: macos-15-intel | |
| env: | |
| DOTNET_CLI_TELEMETRY_OPTOUT: 1 | |
| DOTNET_NOLOGO: 1 | |
| NUGET_PACKAGES: ${{ github.workspace }}/.github/nuget-packages | |
| steps: | |
| - name: Check out the sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: 'Download artifact: macos.x86-64' | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: tdlib.native.macos.x86-64 | |
| path: build/tdlib.native.osx-x64/runtimes/osx-x64/native | |
| - name: Verify library dependencies | |
| shell: pwsh | |
| run: ./macos/Test-Dependencies.ps1 -DotNetArch x64 -PackageName tdlib.native.osx-x64 | |
| - name: Set up .NET SDK | |
| uses: actions/setup-dotnet@v5 | |
| - id: version | |
| name: Read version | |
| shell: pwsh | |
| run: echo "version=$(common/Get-Version.ps1 -RefName $env:GITHUB_REF)" >> $env:GITHUB_OUTPUT | |
| - name: Pack NuGet | |
| shell: pwsh | |
| run: dotnet pack tdlib.native.osx-x64.proj -p:Version=${{ steps.version.outputs.version }}-test --output build | |
| - name: NuGet cache | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ runner.os }}.nuget.${{ hashFiles('**/*.*proj') }} | |
| path: ${{ github.workspace }}/.github/nuget-packages | |
| - name: Test | |
| shell: pwsh | |
| run: ./common/test.ps1 -PackageName tdlib.native.osx-x64 | |
| test-windows-x86-64: | |
| needs: | |
| - build-windows-x86-64 | |
| runs-on: windows-2022 | |
| env: | |
| DOTNET_CLI_TELEMETRY_OPTOUT: 1 | |
| DOTNET_NOLOGO: 1 | |
| NUGET_PACKAGES: ${{ github.workspace }}/.github/nuget-packages | |
| steps: | |
| - name: Check out the sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: 'Download artifact: windows.x86-64' | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: tdlib.native.windows.x86-64 | |
| path: build/tdlib.native.win-x64/runtimes/win-x64/native | |
| - name: Cache downloads for Windows | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ hashFiles('windows/install.ps1') }} | |
| path: build/downloads | |
| - name: Install dependencies | |
| shell: pwsh | |
| run: ./windows/install.ps1 | |
| - name: Verify library dependencies | |
| shell: pwsh | |
| run: ./windows/Test-Dependencies.ps1 -DotNetArch x64 | |
| - name: Set up .NET SDK | |
| uses: actions/setup-dotnet@v5 | |
| - id: version | |
| name: Read version | |
| shell: pwsh | |
| run: echo "version=$(common/Get-Version.ps1 -RefName $env:GITHUB_REF)" >> $env:GITHUB_OUTPUT | |
| - name: Pack NuGet | |
| shell: pwsh | |
| run: dotnet pack tdlib.native.win-x64.proj -p:Version=${{ steps.version.outputs.version }}-test --output build | |
| - name: NuGet cache | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ runner.os }}.nuget.${{ hashFiles('**/*.*proj') }} | |
| path: ${{ github.workspace }}/.github/nuget-packages | |
| - name: Test | |
| shell: pwsh | |
| run: ./common/test.ps1 -PackageName tdlib.native.win-x64 | |
| test-windows-aarch64: | |
| needs: | |
| - build-windows-aarch64 | |
| runs-on: windows-11-arm | |
| env: | |
| DOTNET_CLI_TELEMETRY_OPTOUT: 1 | |
| DOTNET_NOLOGO: 1 | |
| NUGET_PACKAGES: ${{ github.workspace }}/.github/nuget-packages | |
| steps: | |
| - name: Check out the sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: 'Download artifact: windows.aarch64' | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: tdlib.native.windows.aarch64 | |
| path: build/tdlib.native.win-arm64/runtimes/win-arm64/native | |
| - name: Cache downloads for Windows | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ hashFiles('windows/install.ps1') }} | |
| path: build/downloads | |
| - name: Install dependencies | |
| shell: pwsh | |
| run: ./windows/install.ps1 | |
| - name: Verify library dependencies | |
| shell: pwsh | |
| run: ./windows/Test-Dependencies.ps1 -DotNetArch arm64 | |
| - name: Set up .NET SDK | |
| uses: actions/setup-dotnet@v5 | |
| - id: version | |
| name: Read version | |
| shell: pwsh | |
| run: echo "version=$(common/Get-Version.ps1 -RefName $env:GITHUB_REF)" >> $env:GITHUB_OUTPUT | |
| - name: Pack NuGet | |
| shell: pwsh | |
| run: dotnet pack tdlib.native.win-arm64.proj -p:Version=${{ steps.version.outputs.version }}-test --output build | |
| - name: NuGet cache | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ runner.os }}.nuget.${{ hashFiles('**/*.*proj') }} | |
| path: ${{ github.workspace }}/.github/nuget-packages | |
| - name: Test | |
| shell: pwsh | |
| run: ./common/test.ps1 -PackageName tdlib.native.win-arm64 | |
| release: | |
| needs: | |
| - build-macos-aarch64 | |
| - build-macos-x86-64 | |
| - build-ubuntu-22-04-aarch64 | |
| - build-ubuntu-22-04-x86-64 | |
| - build-windows-aarch64 | |
| - build-windows-x86-64 | |
| runs-on: ubuntu-latest | |
| env: | |
| DOTNET_CLI_TELEMETRY_OPTOUT: 1 | |
| DOTNET_NOLOGO: 1 | |
| NUGET_PACKAGES: ${{ github.workspace }}/.github/nuget-packages | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: 'Download artifact: macos.aarch64' | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: tdlib.native.macos.aarch64 | |
| path: build/tdlib.native.osx-arm64/runtimes/osx-arm64/native | |
| - name: 'Archive artifact for platform: macos.aarch64' | |
| shell: pwsh | |
| run: Set-Location build/tdlib.native.osx-arm64/runtimes/osx-arm64/native && zip -r $env:GITHUB_WORKSPACE/tdlib.native.macos.aarch64.zip * | |
| - name: 'Download artifact: macos.x86-64' | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: tdlib.native.macos.x86-64 | |
| path: build/tdlib.native.osx-x64/runtimes/osx-x64/native | |
| - name: 'Archive artifact for platform: macos.x86-64' | |
| shell: pwsh | |
| run: Set-Location build/tdlib.native.osx-x64/runtimes/osx-x64/native && zip -r $env:GITHUB_WORKSPACE/tdlib.native.macos.x86-64.zip * | |
| - name: 'Download artifact: ubuntu-22.04.aarch64' | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: tdlib.native.ubuntu-22.04.aarch64 | |
| path: build/tdlib.native.linux-arm64/runtimes/linux-arm64/native | |
| - name: 'Archive artifact for platform: ubuntu-22.04.aarch64' | |
| shell: pwsh | |
| run: Set-Location build/tdlib.native.linux-arm64/runtimes/linux-arm64/native && zip -r $env:GITHUB_WORKSPACE/tdlib.native.ubuntu-22.04.aarch64.zip * | |
| - name: 'Download artifact: ubuntu-22.04.x86-64' | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: tdlib.native.ubuntu-22.04.x86-64 | |
| path: build/tdlib.native.linux-x64/runtimes/linux-x64/native | |
| - name: 'Archive artifact for platform: ubuntu-22.04.x86-64' | |
| shell: pwsh | |
| run: Set-Location build/tdlib.native.linux-x64/runtimes/linux-x64/native && zip -r $env:GITHUB_WORKSPACE/tdlib.native.ubuntu-22.04.x86-64.zip * | |
| - name: 'Download artifact: windows.aarch64' | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: tdlib.native.windows.aarch64 | |
| path: build/tdlib.native.win-arm64/runtimes/win-arm64/native | |
| - name: 'Archive artifact for platform: windows.aarch64' | |
| shell: pwsh | |
| run: Set-Location build/tdlib.native.win-arm64/runtimes/win-arm64/native && zip -r $env:GITHUB_WORKSPACE/tdlib.native.windows.aarch64.zip * | |
| - name: 'Download artifact: windows.x86-64' | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: tdlib.native.windows.x86-64 | |
| path: build/tdlib.native.win-x64/runtimes/win-x64/native | |
| - name: 'Archive artifact for platform: windows.x86-64' | |
| shell: pwsh | |
| run: Set-Location build/tdlib.native.win-x64/runtimes/win-x64/native && zip -r $env:GITHUB_WORKSPACE/tdlib.native.windows.x86-64.zip * | |
| - name: Set up .NET SDK | |
| uses: actions/setup-dotnet@v5 | |
| - id: version | |
| name: Read version | |
| shell: pwsh | |
| run: echo "version=$(common/Get-Version.ps1 -RefName $env:GITHUB_REF)" >> $env:GITHUB_OUTPUT | |
| - name: Prepare the release notes | |
| uses: ForNeVeR/ChangelogAutomation.action@v2 | |
| with: | |
| format: Markdown | |
| input: ./CHANGELOG.md | |
| output: release-notes.md | |
| - name: 'Pack NuGet package: macos.aarch64' | |
| shell: pwsh | |
| run: dotnet pack tdlib.native.osx-arm64.proj -p:Version=${{ steps.version.outputs.version }} --output build | |
| - name: 'Pack NuGet package: macos.x86-64' | |
| shell: pwsh | |
| run: dotnet pack tdlib.native.osx-x64.proj -p:Version=${{ steps.version.outputs.version }} --output build | |
| - name: 'Pack NuGet package: ubuntu-22.04.aarch64' | |
| shell: pwsh | |
| run: dotnet pack tdlib.native.linux-arm64.proj -p:Version=${{ steps.version.outputs.version }} --output build | |
| - name: 'Pack NuGet package: ubuntu-22.04.x86-64' | |
| shell: pwsh | |
| run: dotnet pack tdlib.native.linux-x64.proj -p:Version=${{ steps.version.outputs.version }} --output build | |
| - name: 'Pack NuGet package: windows.aarch64' | |
| shell: pwsh | |
| run: dotnet pack tdlib.native.win-arm64.proj -p:Version=${{ steps.version.outputs.version }} --output build | |
| - name: 'Pack NuGet package: windows.x86-64' | |
| shell: pwsh | |
| run: dotnet pack tdlib.native.win-x64.proj -p:Version=${{ steps.version.outputs.version }} --output build | |
| - name: Prepare NuGet source | |
| shell: pwsh | |
| run: common/New-NuGetSource.ps1 | |
| - name: 'Pack NuGet package: main' | |
| shell: pwsh | |
| run: dotnet pack tdlib.native.proj -p:Version=${{ steps.version.outputs.version }} --output build | |
| - name: Upload NuGet packages | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: tdlib.nuget | |
| path: ./build/*.nupkg | |
| - name: Verify NuGet packages | |
| shell: pwsh | |
| run: common/Test-Package.ps1 | |
| - if: startsWith(github.ref, 'refs/tags/v') | |
| id: release | |
| name: Create release | |
| uses: actions/create-release@v1 | |
| with: | |
| body_path: ./release-notes.md | |
| release_name: v${{ steps.version.outputs.version }} | |
| tag_name: ${{ github.ref }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: startsWith(github.ref, 'refs/tags/v') | |
| name: 'Upload archive: macos.aarch64' | |
| uses: actions/upload-release-asset@v1 | |
| with: | |
| asset_content_type: application/zip | |
| asset_name: tdlib.native.macos.aarch64.zip | |
| asset_path: ./tdlib.native.macos.aarch64.zip | |
| upload_url: ${{ steps.release.outputs.upload_url }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: startsWith(github.ref, 'refs/tags/v') | |
| name: 'Upload archive: macos.x86-64' | |
| uses: actions/upload-release-asset@v1 | |
| with: | |
| asset_content_type: application/zip | |
| asset_name: tdlib.native.macos.x86-64.zip | |
| asset_path: ./tdlib.native.macos.x86-64.zip | |
| upload_url: ${{ steps.release.outputs.upload_url }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: startsWith(github.ref, 'refs/tags/v') | |
| name: 'Upload archive: ubuntu-22.04.aarch64' | |
| uses: actions/upload-release-asset@v1 | |
| with: | |
| asset_content_type: application/zip | |
| asset_name: tdlib.native.ubuntu-22.04.aarch64.zip | |
| asset_path: ./tdlib.native.ubuntu-22.04.aarch64.zip | |
| upload_url: ${{ steps.release.outputs.upload_url }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: startsWith(github.ref, 'refs/tags/v') | |
| name: 'Upload archive: ubuntu-22.04.x86-64' | |
| uses: actions/upload-release-asset@v1 | |
| with: | |
| asset_content_type: application/zip | |
| asset_name: tdlib.native.ubuntu-22.04.x86-64.zip | |
| asset_path: ./tdlib.native.ubuntu-22.04.x86-64.zip | |
| upload_url: ${{ steps.release.outputs.upload_url }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: startsWith(github.ref, 'refs/tags/v') | |
| name: 'Upload archive: windows.aarch64' | |
| uses: actions/upload-release-asset@v1 | |
| with: | |
| asset_content_type: application/zip | |
| asset_name: tdlib.native.windows.aarch64.zip | |
| asset_path: ./tdlib.native.windows.aarch64.zip | |
| upload_url: ${{ steps.release.outputs.upload_url }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: startsWith(github.ref, 'refs/tags/v') | |
| name: 'Upload archive: windows.x86-64' | |
| uses: actions/upload-release-asset@v1 | |
| with: | |
| asset_content_type: application/zip | |
| asset_name: tdlib.native.windows.x86-64.zip | |
| asset_path: ./tdlib.native.windows.x86-64.zip | |
| upload_url: ${{ steps.release.outputs.upload_url }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: startsWith(github.ref, 'refs/tags/v') | |
| name: 'Upload NuGet package: tdlib.native.osx-arm64.${{ steps.version.outputs.version }}.nupkg' | |
| uses: actions/upload-release-asset@v1 | |
| with: | |
| asset_content_type: application/zip | |
| asset_name: tdlib.native.osx-arm64.${{ steps.version.outputs.version }}.nupkg | |
| asset_path: ./build/tdlib.native.osx-arm64.${{ steps.version.outputs.version }}.nupkg | |
| upload_url: ${{ steps.release.outputs.upload_url }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: startsWith(github.ref, 'refs/tags/v') | |
| name: 'Upload NuGet package: tdlib.native.osx-x64.${{ steps.version.outputs.version }}.nupkg' | |
| uses: actions/upload-release-asset@v1 | |
| with: | |
| asset_content_type: application/zip | |
| asset_name: tdlib.native.osx-x64.${{ steps.version.outputs.version }}.nupkg | |
| asset_path: ./build/tdlib.native.osx-x64.${{ steps.version.outputs.version }}.nupkg | |
| upload_url: ${{ steps.release.outputs.upload_url }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: startsWith(github.ref, 'refs/tags/v') | |
| name: 'Upload NuGet package: tdlib.native.linux-arm64.${{ steps.version.outputs.version }}.nupkg' | |
| uses: actions/upload-release-asset@v1 | |
| with: | |
| asset_content_type: application/zip | |
| asset_name: tdlib.native.linux-arm64.${{ steps.version.outputs.version }}.nupkg | |
| asset_path: ./build/tdlib.native.linux-arm64.${{ steps.version.outputs.version }}.nupkg | |
| upload_url: ${{ steps.release.outputs.upload_url }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: startsWith(github.ref, 'refs/tags/v') | |
| name: 'Upload NuGet package: tdlib.native.linux-x64.${{ steps.version.outputs.version }}.nupkg' | |
| uses: actions/upload-release-asset@v1 | |
| with: | |
| asset_content_type: application/zip | |
| asset_name: tdlib.native.linux-x64.${{ steps.version.outputs.version }}.nupkg | |
| asset_path: ./build/tdlib.native.linux-x64.${{ steps.version.outputs.version }}.nupkg | |
| upload_url: ${{ steps.release.outputs.upload_url }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: startsWith(github.ref, 'refs/tags/v') | |
| name: 'Upload NuGet package: tdlib.native.win-arm64.${{ steps.version.outputs.version }}.nupkg' | |
| uses: actions/upload-release-asset@v1 | |
| with: | |
| asset_content_type: application/zip | |
| asset_name: tdlib.native.win-arm64.${{ steps.version.outputs.version }}.nupkg | |
| asset_path: ./build/tdlib.native.win-arm64.${{ steps.version.outputs.version }}.nupkg | |
| upload_url: ${{ steps.release.outputs.upload_url }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: startsWith(github.ref, 'refs/tags/v') | |
| name: 'Upload NuGet package: tdlib.native.win-x64.${{ steps.version.outputs.version }}.nupkg' | |
| uses: actions/upload-release-asset@v1 | |
| with: | |
| asset_content_type: application/zip | |
| asset_name: tdlib.native.win-x64.${{ steps.version.outputs.version }}.nupkg | |
| asset_path: ./build/tdlib.native.win-x64.${{ steps.version.outputs.version }}.nupkg | |
| upload_url: ${{ steps.release.outputs.upload_url }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: startsWith(github.ref, 'refs/tags/v') | |
| name: 'Upload NuGet package: tdlib.native.${{ steps.version.outputs.version }}.nupkg' | |
| uses: actions/upload-release-asset@v1 | |
| with: | |
| asset_content_type: application/zip | |
| asset_name: tdlib.native.${{ steps.version.outputs.version }}.nupkg | |
| asset_path: ./build/tdlib.native.${{ steps.version.outputs.version }}.nupkg | |
| upload_url: ${{ steps.release.outputs.upload_url }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') | |
| name: Push tdlib.native.osx-arm64.${{ steps.version.outputs.version }} to nuget.org | |
| run: dotnet nuget push --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_KEY }} ./build/tdlib.native.osx-arm64.${{ steps.version.outputs.version }}.nupkg | |
| - if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') | |
| name: Push tdlib.native.osx-x64.${{ steps.version.outputs.version }} to nuget.org | |
| run: dotnet nuget push --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_KEY }} ./build/tdlib.native.osx-x64.${{ steps.version.outputs.version }}.nupkg | |
| - if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') | |
| name: Push tdlib.native.linux-arm64.${{ steps.version.outputs.version }} to nuget.org | |
| run: dotnet nuget push --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_KEY }} ./build/tdlib.native.linux-arm64.${{ steps.version.outputs.version }}.nupkg | |
| - if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') | |
| name: Push tdlib.native.linux-x64.${{ steps.version.outputs.version }} to nuget.org | |
| run: dotnet nuget push --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_KEY }} ./build/tdlib.native.linux-x64.${{ steps.version.outputs.version }}.nupkg | |
| - if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') | |
| name: Push tdlib.native.win-arm64.${{ steps.version.outputs.version }} to nuget.org | |
| run: dotnet nuget push --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_KEY }} ./build/tdlib.native.win-arm64.${{ steps.version.outputs.version }}.nupkg | |
| - if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') | |
| name: Push tdlib.native.win-x64.${{ steps.version.outputs.version }} to nuget.org | |
| run: dotnet nuget push --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_KEY }} ./build/tdlib.native.win-x64.${{ steps.version.outputs.version }}.nupkg | |
| - if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') | |
| name: Push tdlib.native.${{ steps.version.outputs.version }} to nuget.org | |
| run: dotnet nuget push --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_KEY }} ./build/tdlib.native.${{ steps.version.outputs.version }}.nupkg | |
| verify-encoding: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out the sources | |
| uses: actions/checkout@v6 | |
| - name: Verify encoding | |
| shell: pwsh | |
| run: Install-Module VerifyEncoding -Repository PSGallery -RequiredVersion 2.2.1 -Force && Test-Encoding |