name: Release on: pull_request: paths: - .github/workflows/release.yml workflow_dispatch: env: CARGO_INCREMENTAL: 0 CARGO_NET_RETRY: 10 RUSTUP_MAX_RETRIES: 10 jobs: desktop: strategy: matrix: settings: - host: macos-13 target: x86_64-apple-darwin bundles: app,dmg os: darwin arch: x86_64 - host: macos-14 target: aarch64-apple-darwin bundles: app,dmg os: darwin arch: aarch64 - host: windows-latest target: x86_64-pc-windows-msvc bundles: msi os: windows arch: x86_64 - host: ubuntu-22.04 target: x86_64-unknown-linux-gnu bundles: deb os: linux arch: x86_64 name: Desktop (${{ matrix.settings.target }}) runs-on: ${{ matrix.settings.host }} steps: - name: (Linux) Maximize build space if: ${{ runner.os == 'Linux' }} uses: easimon/maximize-build-space@fc881a613ad2a34aca9c9624518214ebc21dfc0c with: swap-size-mb: 4096 root-reserve-mb: 6144 remove-dotnet: 'true' remove-codeql: 'true' remove-haskell: 'true' remove-docker-images: 'true' - name: Checkout uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - name: (Windows) Setup Target if: ${{ runner.os == 'Windows' }} shell: powershell run: | New-Item -ItemType Directory -Force -Path C:\onelauncher_target New-Item -Path target -ItemType Junction -Value C:\onelauncher_target # - name: (macOS) - Download Apple key # i f: ${ { runner.os == 'macOS' }} # run: | # mkdir -p ~/.appstoreconnect/private_keys/ # cd ~/.appstoreconnect/private_keys/ # echo ${ { secrets.APPLE_API_KEY_B64 }} >> AuthKey_${ { secrets.APPLE_API_KEY }}.p8.base64 # base64 --decode -i AuthKey_$ {{ secrets.APPLE_API_KEY }}.p8.base64 -o AuthKey_${ { secrets.APPLE_API_KEY }}.p8 # rm AuthKey_${ { secrets.APPLE_API_KEY }}.p8.base64 # - name: (macOS) - Install Apple key # i f: ${ { runner.os == 'macOS' }} # uses: apple-actions/import-codesign-certs@v2 # with: # p12-file-base64: ${ { secrets.APPLE_CERTIFICATE }} # p12-password: ${ { secrets.APPLE_CERTIFICATE_PASSWORD }} - name: Setup System uses: ./.github/actions/setup-system # env: # APPLE_SIGNING_IDENTITY: ${ { secrets.APPLE_SIGNING_IDENTITY }} with: token: ${{ secrets.GITHUB_TOKEN }} target: ${{ matrix.settings.target }} - name: Setup Pnpm uses: ./.github/actions/setup-pnpm with: token: ${{ secrets.GITHUB_TOKEN }} - name: Build run: pnpm desktop build --ci -v --target ${{ matrix.settings.target }} --bundles ${{ matrix.settings.bundles }},updater # env: # TAURI_SIGNING_PRIVATE_KEY: $ {{ secrets.TAURI_PRIVATE_KEY }} # TAURI_SIGNING_PRIVATE_KEY_PASSWORD: $ {{ secrets.TAURI_KEY_PASSWORD }} # ENABLE_CODE_SIGNING: $ {{ secrets.APPLE_CERTIFICATE }} # APPLE_CERTIFICATE: $ {{ secrets.APPLE_CERTIFICATE }} # APPLE_CERTIFICATE_PASSWORD: $ {{ secrets.APPLE_CERTIFICATE_PASSWORD }} # APPLE_SIGNING_IDENTITY: $ {{ secrets.APPLE_SIGNING_IDENTITY }} # APPLE_PROVIDER_SHORT_NAME: $ {{ secrets.APPLE_PROVIDER_SHORT_NAME }} # APPLE_API_ISSUER: $ {{ secrets.APPLE_API_ISSUER }} # APPLE_API_KEY: $ {{ secrets.APPLE_API_KEY }} # SENTRY_AUTH_TOKEN: $ {{ secrets.SENTRY_AUTH_TOKEN }} - name: (Linux) Build Frontend if: ${{ runner.os == 'Linux' }} run: | set -eux XZ_OPT='-T0 -7' tar -cJf apps/frontend/dist.tar.xz -C apps/frontend/dist . - name: Publish Artifacts uses: ./.github/actions/publish-artifacts with: os: ${{ matrix.settings.os }} arch: ${{ matrix.settings.arch }} target: ${{ matrix.settings.target }} profile: release release: if: startsWith(github.ref, 'refs/tags/v') runs-on: ubuntu-latest name: Create Release needs: desktop permissions: contents: write steps: - name: Download Artifacts uses: actions/download-artifact@v4 # - name: Create Relesae # u