Merge pull request #243 from tannergooding/main #119
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
| name: ci | ||
|
Check failure on line 1 in .github/workflows/ci.yml
|
||
| on: | ||
| push: | ||
| branches: [ main, v* ] | ||
| pull_request: | ||
| branches: [ main, v* ] | ||
| workflow_dispatch: | ||
| jobs: | ||
| windows-x64: | ||
| runs-on: ${{ matrix.os }}-latest | ||
| strategy: | ||
| matrix: | ||
| architecture: [ x64 ] | ||
| configuration: [ debug, release ] | ||
| os: [ windows ] | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - run: ./scripts/cibuild.cmd -configuration ${{ matrix.configuration }} -architecture ${{ matrix.architecture }} | ||
| shell: cmd | ||
| - uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: ${{ matrix.os }}_${{ matrix.configuration }}_${{ matrix.architecture }} | ||
| path: | | ||
| ./artifacts/bin/**/* | ||
| ./artifacts/log/**/* | ||
| ./artifacts/pkg/**/* | ||
| ./artifacts/tst/**/* | ||
| if-no-files-found: error | ||
| windows-arm64: | ||
| runs-on: ${{ matrix.os }}-11-arm | ||
| strategy: | ||
| matrix: | ||
| architecture: [ arm64 ] | ||
| configuration: [ debug, release ] | ||
| os: [ windows ] | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - run: ./scripts/cibuild.cmd -configuration ${{ matrix.configuration }} -architecture ${{ matrix.architecture }} | ||
| shell: cmd | ||
| - uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: ${{ matrix.os }}_${{ matrix.configuration }}_${{ matrix.architecture }} | ||
| path: | | ||
| ./artifacts/bin/**/* | ||
| ./artifacts/log/**/* | ||
| ./artifacts/pkg/**/* | ||
| ./artifacts/tst/**/* | ||
| if-no-files-found: error | ||
| linux-x64: | ||
| runs-on: ${{ matrix.os }}-latest | ||
| strategy: | ||
| matrix: | ||
| architecture: [ x64 ] | ||
| configuration: [ debug, release ] | ||
| os: [ ubuntu ] | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - run: ./scripts/cibuild.sh --configuration ${{ matrix.configuration }} --architecture ${{ matrix.architecture }} | ||
| shell: bash | ||
| - uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: ${{ matrix.os }}_${{ matrix.configuration }}_${{ matrix.architecture }} | ||
| path: | | ||
| ./artifacts/bin/**/* | ||
| ./artifacts/log/**/* | ||
| ./artifacts/pkg/**/* | ||
| ./artifacts/tst/**/* | ||
| if-no-files-found: error | ||
| linux-arm64: | ||
| runs-on: ${{ matrix.os }}-24.04-arm | ||
| strategy: | ||
| matrix: | ||
| architecture: [ arm64 ] | ||
| configuration: [ debug, release ] | ||
| os: [ ubuntu ] | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - run: ./scripts/cibuild.sh --configuration ${{ matrix.configuration }} --architecture ${{ matrix.architecture }} | ||
| shell: bash | ||
| - uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: ${{ matrix.os }}_${{ matrix.configuration }}_${{ matrix.architecture }} | ||
| path: | | ||
| ./artifacts/bin/**/* | ||
| ./artifacts/log/**/* | ||
| ./artifacts/pkg/**/* | ||
| ./artifacts/tst/**/* | ||
| if-no-files-found: error | ||
| macos-arm64: | ||
| runs-on: ${{ matrix.os }}-latest | ||
| strategy: | ||
| matrix: | ||
| architecture: [ arm64 ] | ||
| configuration: [ debug, release ] | ||
| os: [ macos ] | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - run: ./scripts/cibuild.sh --configuration ${{ matrix.configuration }} --architecture ${{ matrix.architecture }} | ||
| shell: bash | ||
| - uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: ${{ matrix.os }}_${{ matrix.configuration }}_${{ matrix.architecture }} | ||
| path: | | ||
| ./artifacts/bin/**/* | ||
| ./artifacts/log/**/* | ||
| ./artifacts/pkg/**/* | ||
| ./artifacts/tst/**/* | ||
| if-no-files-found: error | ||
| sign-nuget: | ||
| runs-on: windows-latest | ||
| if: ${{ github.event_name == 'push' }} | ||
| needs: [ windows-x64, windows-arm64, linux-x64, linux-arm64, macos-arm64 ] | ||
| permissions: | ||
| id-token: write | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - uses: actions/download-artifact@v4 | ||
| with: | ||
| merge-multiple: true | ||
| path: ./artifacts | ||
| pattern: "./artifacts/pkg/Release/**/*" | ||
| - uses: actions/setup-dotnet@v4 | ||
| with: | ||
| global-json-file: ./global.json | ||
| - run: dotnet tool install --tool-path ./artifacts/tools sign --version 0.9.1-beta.24170.3 | ||
| - run: ./artifacts/tools/sign code azure-key-vault "**/*.nupkg" --timestamp-url "http://timestamp.digicert.com" --base-directory "${{ github.workspace }}/artifacts/pkg" --file-list "${{ github.workspace }}/scripts/SignClientFileList.txt" --publisher-name ".NET Foundation" --description "LLVMSharp" --description-url "https://github.com/dotnet/llvmsharp" --azure-key-vault-certificate "${{ secrets.SC_KEY_VAULT_CERTIFICATE_ID }}" --azure-key-vault-client-id "${{ secrets.SC_AZURE_CLIENT_ID }}" --azure-key-vault-client-secret "${{ secrets.SC_AZURE_CLIENT_SECRET }}" --azure-key-vault-tenant-id "${{ secrets.SC_AZURE_TENANT_ID }}" --azure-key-vault-url "${{ secrets.SC_KEY_VAULT_URL }}" | ||
| - uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: sign_nuget | ||
| path: | | ||
| ./artifacts/pkg/Release/* | ||
| if-no-files-found: error | ||
| publish-nightlies-azure: | ||
| runs-on: ubuntu-latest | ||
| if: ${{ github.event_name == 'push' }} | ||
| needs: [ sign-nuget ] | ||
| steps: | ||
| - uses: actions/download-artifact@v4 | ||
| with: | ||
| name: sign-nuget | ||
| path: ./artifacts | ||
| - uses: actions/setup-dotnet@v4 | ||
| with: | ||
| dotnet-version: '8.0.x' | ||
| source-url: https://pkgs.clangsharp.dev/index.json | ||
| env: | ||
| NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} | ||
| - run: dotnet nuget push "./artifacts/pkg/Release/*.nupkg" --api-key AzureDevOps --skip-duplicate | ||
| publish-nightlies-github: | ||
| runs-on: ubuntu-latest | ||
| if: false | ||
| needs: [ windows-x64, linux-x64, macos-arm64, sign-nuget-preview, sign-nuget-release ] | ||
| steps: | ||
| - uses: actions/download-artifact@v4 | ||
| with: | ||
| name: sign-nuget | ||
| path: ./artifacts | ||
| - uses: actions/setup-dotnet@v4 | ||
| with: | ||
| dotnet-version: '8.0.x' | ||
| - run: dotnet nuget push "./artifacts/pkg/Release/*.nupkg" --source https://nuget.pkg.github.com/dotnet/index.json --api-key ${{ secrets.GITHUB_TOKEN }} --skip-duplicate | ||