This is the Silk.NET Mobile Update (v2.22.0) #5018
Workflow file for this run
This file contains 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
name: CI Build | |
on: | |
push: | |
branches: | |
- 'main' | |
- 'release/**' | |
paths-ignore: | |
- 'documentation/**' | |
tags: | |
- '*' | |
pull_request: | |
# all branches | |
paths-ignore: | |
- 'documentation/**' | |
permissions: | |
packages: write | |
jobs: | |
Build: | |
runs-on: macos-13-xlarge | |
steps: | |
- uses: actions/checkout@v3.5.2 | |
with: | |
submodules: 'false' | |
- name: Clone submodules non-recursively | |
run: git submodule update --init --depth 0 | |
- name: Setup Java JDK 21 | |
uses: actions/setup-java@v2.3.0 | |
with: | |
java-version: 21 | |
distribution: "temurin" | |
- name: Setup Android Environment | |
uses: android-actions/setup-android@v2 | |
env: | |
ANDROID_SDK_ROOT: /Users/runner/Library/Android/sdk | |
- name: Install Android Platforms | |
run: | | |
sdkmanager --install "build-tools;32.0.0" | |
sdkmanager --install "platform-tools" | |
sdkmanager --install "platforms;android-31" | |
sdkmanager --install "platforms;android-33" | |
sdkmanager --install "platforms;android-34" | |
- name: Setup .NET 6.0 | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: 6.0.414 | |
- name: Setup .NET 7.0 | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: 7.0.102 | |
- name: Install Workloads | |
run: dotnet workload install android ios maccatalyst | |
- name: Test | |
if: ${{ github.repository != 'dotnet/Silk.NET' || !startsWith(github.ref, 'refs/tags/') }} | |
# skip Clean, Restore, and Compile as this will build the affect the whole solution. | |
# dotnet test will compile the necessary projects for testing only. | |
run: ./build.sh Test --skip Clean Restore Compile | |
- name: Validation Checks | |
if: ${{ github.repository != 'dotnet/Silk.NET' || !startsWith(github.ref, 'refs/tags/') }} | |
run: ./build.sh ValidateSolution | |
- name: Pack (CI) | |
if: ${{ github.repository != 'dotnet/Silk.NET' || !startsWith(github.ref, 'refs/tags/') }} | |
# Use a release NUKE so it doesn't interfere with the debug build | |
run: dotnet run --project build/nuke/Silk.NET.NUKE.csproj -c Release -- Pack --configuration Debug --msbuild-properties VersionSuffix=${{ github.event_name != 'pull_request' && format('build{0}.0', github.run_number) || format('pr{0}.{1}', github.event.number, github.run_number) }} ContinuousIntegrationBuild=true | |
env: | |
ANDROID_HOME: /Users/runner/Library/Android/sdk | |
- name: Pack (CD) | |
if: ${{ github.repository == 'dotnet/Silk.NET' && startsWith(github.ref, 'refs/tags/') }} | |
run: ./build.sh Pack --configuration Release --msbuild-properties ContinuousIntegrationBuild=true | |
- name: Upload Unsigned Artifacts to Actions | |
uses: actions/upload-artifact@v4 | |
with: | |
name: unsigned_nupkgs | |
path: "build/output_packages/*nupkg" | |
if-no-files-found: warn | |
retention-days: 1 | |
- name: Push to Experimental Feed | |
if: ${{ github.repository == 'dotnet/Silk.NET' }} | |
run: ./build.sh PushToNuGet --skip Clean Restore Compile Pack --nuget-feed https://dotnet.github.io/Silk.NET/nuget/experimental/index.json --nuget-username ${{ secrets.EXP_NUGET_USERNAME }} --nuget-password ${{ secrets.EXP_NUGET_PASSWORD }} --nuget-api-key ${{ secrets.EXP_NUGET_PASSWORD }} | |
- name: Push to GitHub Packages | |
if: ${{ github.repository == 'dotnet/Silk.NET' }} | |
run: ./build.sh PushToNuGet --skip Clean Restore Compile Pack --nuget-feed https://nuget.pkg.github.com/dotnet/index.json --nuget-api-key ${{ secrets.GITHUB_TOKEN }} | |
PushRelease: | |
name: Push Release to NuGet | |
runs-on: windows-latest | |
if: ${{ github.repository == 'dotnet/Silk.NET' && startsWith(github.ref, 'refs/tags/') }} | |
needs: [Build] | |
steps: | |
- uses: actions/checkout@v3.5.2 | |
with: | |
submodules: 'false' | |
- uses: actions/download-artifact@v4 | |
with: | |
name: unsigned_nupkgs | |
path: build/output_packages | |
- name: Sign Packages | |
run: .\build.cmd SignPackages --akv-certificate ${{ secrets.AKV_CERTIFICATE }} --akv-client-id ${{ secrets.AKV_CLIENT_ID }} --akv-client-secret ${{ secrets.AKV_CLIENT_SECRET }} --akv-tenant ${{ secrets.AKV_TENANT }} --akv-vault-url ${{ secrets.AKV_VAULT_URL }} | |
- name: Upload Signed Artifacts to Actions | |
uses: actions/upload-artifact@v4 | |
with: | |
name: signed_nupkgs | |
path: "build/output_packages/*nupkg" | |
if-no-files-found: warn | |
- name: Push to NuGet | |
run: .\build.cmd PushToNuGet --skip Clean Restore Pack --nuget-api-key ${{ secrets.NUGET_TOKEN }} |