Skip to content

Release Macos

Release Macos #3

name: Release Macos
# Manual release
on:
workflow_dispatch:
env:
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
VUE_APP_SENTRY_DSN: ${{ secrets.VUE_APP_SENTRY_DSN }}
jobs:
build-macos:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 21
- name: Build subprocess
env:
SUBPROCESS_SENTRY_DSN: ${{ secrets.SUBPROCESS_SENTRY_DSN }}
GITHUB_BRANCH: "release" # TODO: Resolve this properly for alpha and beta releases
run: |
cd subprocess
./gradlew clean build -si
- name: Build App (MacOS)
env:
VUE_APP_PLATFORM: "electron"
APP_TARGET_PLATFORM: "macos"
VUE_APP_TARGET_PLATFORM: "macos"
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
CSC_LINK: ${{ secrets.CSC_LINK }}
APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }}
APPLE_API_KEY: ${{ secrets.APPLE_API_KEY }}
APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY_ID }}
run: |
npm install --global pnpm || true
pnpm config set store-dir .pnpm-store
pnpm install --no-frozen-lockfile
pnpm gen:license
echo "$APPLE_API_KEY" > apple_api_key.p8
pnpm build --publish always -m --x64 --arm64
- name: Upload artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: release-macos
path: |
release/ftb-app-*.dmg
release/ftb-app-*.zip
release/*.blockmap
release/*-mac.yml
subprocess/build/libs/