Skip to content

Main

Main #860

Workflow file for this run

# SPDX-FileCopyrightText: 2018-2026 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
- renovate/**
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