Skip to content

Build and Release

Build and Release #9

name: Build and Release
on:
push:
paths:
- '.github/workflows/**'
- 'package/**'
- 'installers/**'
- 'global.json'
- 'qodana.yaml'
- 'qodana.sarif.json'
- 'Tracebit.Cli/**'
- 'installers/**'
- 'trigger.md'
jobs:
#####################
# Format and Qodana #
#####################
format_and_qodana:
name: Format and Qodana
uses: ./.github/workflows/_format_and_qodana.yaml
secrets:
qodana-token: ${{ secrets.QODANA_TOKEN }}
#########
# Build #
#########
build_cli:
name: Build CLI
uses: ./.github/workflows/_build_cli.yaml
with:
sign: ${{ github.ref == 'refs/heads/main' || github.ref_type == 'tag' }}
version: ${{ github.ref_type == 'tag' && github.ref_name || '0.0.0' }}
secrets: # only available when sign is true
MACOS_APPLICATION_P12_PASSWORD: ${{ secrets.MACOS_APPLICATION_P12_PASSWORD }}
MACOS_APPLICATION_KEY_CERTIFICATE_BASE64: ${{ secrets.MACOS_APPLICATION_KEY_CERTIFICATE_BASE64 }}
MACOS_INSTALLER_P12_PASSWORD: ${{ secrets.MACOS_INSTALLER_P12_PASSWORD }}
MACOS_INSTALLER_KEY_CERTIFICATE_BASE64: ${{ secrets.MACOS_INSTALLER_KEY_CERTIFICATE_BASE64 }}
MACOS_NOTARIZATION_PASSWORD: ${{ secrets.MACOS_NOTARIZATION_PASSWORD }}
MACOS_NOTARIZATION_APPLEID: ${{ secrets.MACOS_NOTARIZATION_APPLEID }}
MACOS_KEYCHAIN_PASSWORD: ${{ secrets.MACOS_KEYCHAIN_PASSWORD }}
release:
name: Release
if: github.ref_type == 'tag'
runs-on: ubuntu-latest
needs: build_cli
steps:
- uses: actions/download-artifact@v5
with:
path: ${{ runner.temp }}/artifacts
- run: |
mkdir ${{ runner.temp }}/release-artifacts
cp -n ${{ runner.temp }}/artifacts/install-tracebit-*/* ${{ runner.temp }}/release-artifacts/
cp -n ${{ runner.temp }}/artifacts/tracebit-*/* ${{ runner.temp }}/release-artifacts/
- uses: softprops/action-gh-release@5be0e66d93ac7ed76da52eca8bb058f665c3a5fe
with:
generate_release_notes: true
prerelease: ${{ contains(github.ref_name, '-') }}
files: |
${{ runner.temp }}/release-artifacts/*