133 lines
4.4 KiB
YAML
133 lines
4.4 KiB
YAML
name: Release
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- .github/workflows/release.yml
|
|
- .github/actions/publish-artifacts/**
|
|
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: dmg,app
|
|
os: darwin
|
|
arch: x86_64
|
|
- host: macos-14
|
|
target: aarch64-apple-darwin
|
|
bundles: dmg,app
|
|
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 }}
|
|
# 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
|