Skip to content

ci: Update download-artifact and upload-artifact to v4 (backport #51) #121

ci: Update download-artifact and upload-artifact to v4 (backport #51)

ci: Update download-artifact and upload-artifact to v4 (backport #51) #121

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "main" branch
push:
branches:
- main
- release/**
pull_request:
types: [opened, synchronize, reopened]
branches:
- main
- release/**
jobs:
build_fluent:
name: Build Fluent
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: '7.0.100'
- name: Setup GitVersion
uses: gittools/actions/gitversion/[email protected]
with:
versionSpec: '5.10.3'
- name: GitVersion
id: gitversion
uses: gittools/actions/gitversion/[email protected]
with:
useConfigFile: true
configFilePath: build/gitversion.yml
- name: Build Fluent Font
run: |
cd nuget
dotnet new classlib -f netstandard2.0 -o uno.fonts.fluent
cd uno.fonts.fluent
rm *.cs
dotnet build -c Release
cp bin\Release\netstandard2.0\uno.fonts.fluent.dll ../Fluent
- name: Pack
run: |
$adjustedPackageVersion="${{ steps.gitversion.outputs.semVer }}".ToLower();
build/nuget.exe pack nuget/Fluent/Uno.Fonts.Fluent.nuspec -Version $adjustedPackageVersion -OutputDirectory ./artifacts
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: NuGet
path: ./artifacts
build_roboto:
name: Build Roboto
runs-on: windows-latest
env:
WIN_SDK_VERSION: '18362'
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: '7.0.100'
- name: Setup GitVersion
uses: gittools/actions/gitversion/[email protected]
with:
versionSpec: '5.10.3'
- name: GitVersion
id: gitversion
uses: gittools/actions/gitversion/[email protected]
with:
useConfigFile: true
configFilePath: build/gitversion.yml
- name: Install Windows SDK (${{ env.WIN_SDK_VERSION }})
shell: pwsh
run: |
build/Install-WindowsSdkISO.ps1 $env:WIN_SDK_VERSION
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1
- name: NuGet Restore
run: |
build\nuget.exe restore nuget\Roboto\Uno.Fonts.Roboto\Uno.Fonts.Roboto.sln
- name: Pack Roboto Font
run: |
$adjustedPackageVersion="${{ steps.gitversion.outputs.semVer }}".ToLower();
msbuild nuget\Roboto\Uno.Fonts.Roboto\Uno.Fonts.Roboto.csproj -t:pack -p:Configuration=Release -p:PackageVersion=$adjustedPackageVersion -p:PackageOutputPath=artifacts
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: NuGet
path: nuget\Roboto\Uno.Fonts.Roboto\artifacts
build_opensans:
name: Build OpenSans
runs-on: windows-latest
env:
WIN_SDK_VERSION: '18362'
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: '7.0.100'
- name: Setup GitVersion
uses: gittools/actions/gitversion/[email protected]
with:
versionSpec: '5.10.3'
- name: GitVersion
id: gitversion
uses: gittools/actions/gitversion/[email protected]
with:
useConfigFile: true
configFilePath: build/gitversion.yml
- name: Pack OpenSans Font
run: |
$adjustedPackageVersion="${{ steps.gitversion.outputs.semVer }}".ToLower();
dotnet pack nuget\OpenSans\Uno.Fonts.OpenSans\Uno.Fonts.OpenSans.csproj -c Release -p:PackageVersion=$adjustedPackageVersion -p:PackageOutputPath=artifacts
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: NuGet
path: nuget\OpenSans\Uno.Fonts.OpenSans\artifacts
publish:
name: Publish
if: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release/')) }}
environment: NuGet
runs-on: windows-latest
needs: [build_fluent, build_roboto, build_opensans]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: NuGet
path: artifacts
- name: Setup .NET SDK
uses: actions/setup-dotnet@v1
with:
dotnet-version: '3.1.x'
- name: Setup SignClient
run: |
dotnet tool install --tool-path build SignClient
- name: SignClient
shell: pwsh
run: |
build\SignClient sign -i artifacts\*.nupkg -c build\SignClient.json -r "${{ secrets.UNO_PLATFORM_CODESIGN_USERNAME }}" -s "${{ secrets.UNO_PLATFORM_CODESIGN_SECRET }}" -n "Uno.Check" -d "Uno.Check" -u "https://github.com/unoplatform/uno.check"
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: NuGet-Signed
path: ./artifacts
- name: NuGet Push
shell: pwsh
run: |
dotnet nuget push artifacts\*.nupkg -s https://api.nuget.org/v3/index.json -k ${{ secrets.NUGET_ORG_API_KEY }}