Update Shaderc binaries #3927
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: | |
# This will: | |
# - use windows-quick (self-hosted only) for release tags on this repo | |
# - use windows-2022 (self-hosted or GitHub-hosted depending on what's available) for development in this repo | |
# - use windows-latest (GitHub-hosted only) in all other cases (i.e. community contributions) | |
# Note: the reason we use windows-2022 instead of windows-latest is so that both the self-hosted runner | |
# (which has the windows-2022 label but NOT the windows-latest label) and the GitHub hosted runner are | |
# treated as candidates. We will never have a windows-latest self-hosted runner even if it is the latest. | |
runs-on: ${{ github.repository == 'dotnet/Silk.NET' && startsWith(github.ref, 'refs/tags/') && 'windows-quick' || github.repository == 'dotnet/Silk.NET' && 'windows-2022' || 'windows-latest' }} | |
steps: | |
- uses: actions/[email protected] | |
with: | |
submodules: 'false' | |
- name: Setup Java JDK 11 | |
uses: actions/[email protected] | |
with: | |
java-version: 11 | |
distribution: "temurin" | |
- name: Setup .NET 7.0 | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: 7.0.102 | |
- name: Setup .NET 6.0 | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: 6.0.201 | |
- name: Setup .NET 5.0 | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: 5.0.201 | |
- name: Setup .NET Core 3.1 | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: 3.1.404 | |
- name: Install Workloads | |
# TODO: This is slow. Maybe we can make a docker container with this already done? | |
run: dotnet workload install android ios maccatalyst maui | |
- 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.cmd Test --skip Clean Restore Compile | |
- name: Validation Checks | |
if: ${{ github.repository != 'dotnet/Silk.NET' || !startsWith(github.ref, 'refs/tags/') }} | |
run: .\build.cmd ValidateSolution | |
- name: Pack (CI) | |
if: ${{ github.repository != 'dotnet/Silk.NET' || !startsWith(github.ref, 'refs/tags/') }} | |
# TODO build native mixins such as BuildLibSilkDroid | |
run: .\build.cmd Pack --configuration Release --msbuild-properties VersionSuffix=build${{ github.run_number }}.0 ContinuousIntegrationBuild=true | |
- name: Pack (CD) | |
if: ${{ github.repository == 'dotnet/Silk.NET' && startsWith(github.ref, 'refs/tags/') }} | |
# TODO build native mixins such as BuildLibSilkDroid | |
run: .\build.cmd Pack --configuration Release --msbuild-properties ContinuousIntegrationBuild=true | |
- name: Upload Unsigned Artifacts to Actions | |
uses: actions/[email protected] | |
with: | |
name: unsigned_nupkgs | |
path: "build/output_packages/*.nupkg" | |
if-no-files-found: warn | |
retention-days: 1 | |
- name: Sign Packages | |
if: ${{ github.repository == 'dotnet/Silk.NET' && startsWith(github.ref, 'refs/tags/') }} | |
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: Push to Experimental Feed | |
if: ${{ github.repository == 'dotnet/Silk.NET' && github.event_name != 'pull_request' }} | |
run: .\build.cmd 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' && github.event_name != 'pull_request' }} | |
run: .\build.cmd PushToNuGet --skip Clean Restore Compile Pack --nuget-feed https://nuget.pkg.github.com/dotnet/index.json --nuget-api-key ${{ secrets.GITHUB_TOKEN }} | |
- name: Upload Signed Artifacts to Actions | |
if: ${{ github.repository == 'dotnet/Silk.NET' && startsWith(github.ref, 'refs/tags/') }} | |
uses: actions/[email protected] | |
with: | |
name: signed_nupkgs | |
path: "build/output_packages/*.nupkg" | |
if-no-files-found: warn | |
- name: Push to NuGet | |
if: ${{ github.repository == 'dotnet/Silk.NET' && startsWith(github.ref, 'refs/tags/') }} | |
run: .\build.cmd PushToNuGet --skip Clean Restore Pack --nuget-api-key ${{ secrets.NUGET_TOKEN }} | |