🤖 perf: skip code signing in merge queue to enable parallel builds #5447
Workflow file for this run
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: Build | |
| on: | |
| pull_request: | |
| branches: ["**"] | |
| merge_group: | |
| workflow_dispatch: # Allow manual triggering | |
| jobs: | |
| build-macos: | |
| name: Build macOS | |
| runs-on: ${{ github.repository_owner == 'coder' && 'depot-macos-15' || 'macos-latest' }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 # Required for git describe to find tags | |
| - uses: ./.github/actions/setup-mux | |
| # Only sign for workflow_dispatch (manual testing of signing process). | |
| # PRs and merge_group skip signing - releases use release.yml instead. | |
| # Without CSC_LINK, x64 and arm64 builds run in parallel (~12 min faster). | |
| - name: Setup code signing | |
| if: github.event_name == 'workflow_dispatch' | |
| run: ./scripts/setup-macos-signing.sh | |
| env: | |
| MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} | |
| MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }} | |
| AC_APIKEY_P8_BASE64: ${{ secrets.AC_APIKEY_P8_BASE64 }} | |
| AC_APIKEY_ID: ${{ secrets.AC_APIKEY_ID }} | |
| AC_APIKEY_ISSUER_ID: ${{ secrets.AC_APIKEY_ISSUER_ID }} | |
| - name: Verify signing setup | |
| if: github.event_name == 'workflow_dispatch' | |
| run: | | |
| if [ -n "${CSC_LINK:-}" ]; then | |
| echo "✅ Code signing enabled" | |
| security list-keychains -d user | |
| security find-identity -v -p codesigning | |
| else | |
| echo "⚠️ Code signing NOT enabled" | |
| fi | |
| - name: Package for macOS | |
| run: make dist-mac | |
| - name: Upload macOS DMG (x64) | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: macos-dmg-x64 | |
| path: release/*-x64.dmg | |
| retention-days: 30 | |
| if-no-files-found: error | |
| - name: Upload macOS DMG (arm64) | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: macos-dmg-arm64 | |
| path: release/*-arm64.dmg | |
| retention-days: 30 | |
| if-no-files-found: error | |
| build-linux: | |
| name: Build Linux | |
| runs-on: ${{ github.repository_owner == 'coder' && 'depot-ubuntu-22.04-16' || 'ubuntu-latest' }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 # Required for git describe to find tags | |
| - uses: ./.github/actions/setup-mux | |
| - name: Build application | |
| run: bun run build | |
| - name: Package for Linux | |
| run: make dist-linux | |
| - name: Upload Linux AppImage | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: linux-appimage | |
| path: release/*.AppImage | |
| retention-days: 30 | |
| if-no-files-found: error | |
| build-vscode-extension: | |
| name: Build VS Code Extension | |
| runs-on: ${{ github.repository_owner == 'coder' && 'depot-ubuntu-22.04-16' || 'ubuntu-latest' }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 # Required for git describe to find tags | |
| - uses: ./.github/actions/setup-mux | |
| - uses: ./.github/actions/build-vscode-extension | |
| - name: Upload VS Code extension artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: vscode-extension | |
| path: vscode/mux-*.vsix | |
| retention-days: 30 | |
| if-no-files-found: error |