Skip to content

Attempt to upload macOS assets to release #58

Attempt to upload macOS assets to release

Attempt to upload macOS assets to release #58

Workflow file for this run

name: deploy_tauri
on:
push:
branches:
- release
workflow_dispatch:
# This workflow will trigger on each push to the `release` branch to create or update a GitHub release, build your app, and upload the artifacts to the release.
env:
APPLE_DEVELOPMENT_TEAM: ${{ secrets.APPLE_TEAM_ID }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
APPLE_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
NODE_OPTIONS: --max-old-space-size=4096
NUXT_PUBLIC_CDN_URL: ${{ secrets.VITE_APP_CDN_URL }}
NUXT_PUBLIC_DISCORD_INVITE_LINK: ${{ secrets.VITE_DISCORD_INVITE_LINK }}
NUXT_PUBLIC_FATHOM_EVENT_ACCOUNT_REGISTRATION: ${{ secrets.VUE_APP_FATHOM_GOAL_ACCOUNT_REGISTRATION }}
NUXT_PUBLIC_FATHOM_EVENT_CTA_CONTINUE_WITH_PRO: ${{ secrets.VUE_APP_FATHOM_EVENT_CTA_CONTINUE_WITH_PRO }}
NUXT_PUBLIC_FATHOM_EVENT_CTA_MODAL_UPGRADE: ${{ secrets.VITE_FATHOM_EVENT_CTA_MODAL_UPGRADE }}
NUXT_PUBLIC_FATHOM_EVENT_CTA_OPEN_APP: ${{ secrets.VITE_FATHOM_EVENT_CTA_OPEN_APP }}
NUXT_PUBLIC_FATHOM_EVENT_CTA_SAVE_DOCS: ${{ secrets.VUE_APP_FATHOM_GOAL_CTA_SYNC_DOCS }}
NUXT_PUBLIC_FATHOM_EVENT_CTA_SETTINGS_UPGRADE: ${{ secrets.VITE_FATHOM_EVENT_CTA_SETTINGS_UPGRADE }}
NUXT_PUBLIC_FATHOM_EVENT_CTA_SIGN_UP_NOW: ${{ secrets.VITE_FATHOM_EVENT_CTA_SIGN_UP_NOW }}
NUXT_PUBLIC_FATHOM_EVENT_CTA_TRY_IT_OUT: ${{ secrets.VITE_FATHOM_EVENT_CTA_TRY_IT_OUT }}
NUXT_PUBLIC_FATHOM_EVENT_CTA_UPGRADE_TO_PRO: ${{ secrets.VUE_APP_FATHOM_EVENT_CTA_UPGRADE_TO_PRO }}
NUXT_PUBLIC_FATHOM_SITE_ID: ${{ secrets.VUE_APP_FATHOM_SITE_ID }}
NUXT_PUBLIC_FATHOM_SITE_URL: ${{ secrets.VUE_APP_FATHOM_SITE_URL }}
NUXT_PUBLIC_FIREBASE_API_KEY: ${{ secrets.VUE_APP_FIREBASE_API_KEY }}
NUXT_PUBLIC_FIREBASE_APP_ID: ${{ secrets.VUE_APP_FIREBASE_APP_ID }}
NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN: ${{ secrets.VUE_APP_FIREBASE_AUTH_DOMAIN }}
NUXT_PUBLIC_FIREBASE_DATABASE_URL: ${{ secrets.VUE_APP_FIREBASE_DATABASE_URL }}
NUXT_PUBLIC_FIREBASE_DISABLED:
NUXT_PUBLIC_FIREBASE_LOG_LEVEL: ${{ secrets.VITE_FIREBASE_LOG_LEVEL }}
NUXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.VUE_APP_FIREBASE_MESSAGING_SENDER_ID }}
NUXT_PUBLIC_FIREBASE_PROJECT_ID: ${{ secrets.VUE_APP_FIREBASE_PROJECT_ID }}
NUXT_PUBLIC_FIREBASE_STORAGE_BUCKET: ${{ secrets.VUE_APP_FIREBASE_STORAGE_BUCKET }}
NUXT_PUBLIC_LINK_FEEDBACK: ${{ secrets.LINK_FEEDBACK }}
NUXT_PUBLIC_STRIPE_MONTHLY_PRICE: ${{ secrets.VUE_APP_STRIPE_MONTHLY_PRICE }}
TAURI: 1
TAURI_DESKTOP: 1
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD:
jobs:
build-desktop-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/install-rust
- uses: ./.github/actions/install-tauri
- uses: ./.github/actions/install-xcode
- uses: ./.github/actions/install-node
- name: Build Web app
run: |
pnpm build
- name: Build Linux app
run: |
pnpm tauri build --verbose
build-desktop-macos:
strategy:
fail-fast: false
matrix:
include:
# Arm based macs (M1 and above).
- tauri-target: aarch64-apple-darwin
# Intel based macs.
- tauri-target: x86_64-apple-darwin
# Universal
- tauri-target: aarch64-apple-darwin,x86_64-apple-darwin
runs-on: macos-latest
env:
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/install-rust
with:
targets: aarch64-apple-darwin,x86_64-apple-darwin
- uses: ./.github/actions/install-tauri
- uses: ./.github/actions/install-xcode
- uses: ./.github/actions/install-node
- uses: ./.github/actions/install-certificates
id: import-certificate
with:
certificate: ${{ env.APPLE_CERTIFICATE }}
certificate-password: ${{ env.APPLE_CERTIFICATE_PASSWORD }}
certificate-regex: 'Developer ID Application'
keychain-password: ${{ env.KEYCHAIN_PASSWORD }}
- name: Build Web app
run: |
pnpm build
- name: Build macOS app
run: |
pnpm tauri build --verbose
- name: Release
uses: softprops/action-gh-release@v2
with:
draft: true
files: |
./src-tauri/target/aarch64-apple-darwin/release/bundle/**/*.dmg
./src-tauri/target/aarch64-apple-darwin/release/bundle/**/*.app
./src-tauri/target/aarch64-apple-darwin/release/bundle/**/*.tar.gz
./src-tauri/target/aarch64-apple-darwin/release/bundle/**/*.tar.gz.sig
./src-tauri/target/x86_64-apple-darwin/release/bundle/**/*.dmg
./src-tauri/target/x86_64-apple-darwin/release/bundle/**/*.app
./src-tauri/target/x86_64-apple-darwin/release/bundle/**/*.tar.gz
./src-tauri/target/x86_64-apple-darwin/release/bundle/**/*.tar.gz.sig
make_latest: true
name: App v0.0.1-alpha
tag_name: app-v0.0.1-alpha
target_commitish: ${{ github.sha }}
build-desktop-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/install-rust
- uses: ./.github/actions/install-tauri
- uses: ./.github/actions/install-node
- name: Build Web app
run: |
pnpm build
- name: Build Windows app
run: |
pnpm tauri build --verbose
build-mobile-android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/install-rust
with:
targets: aarch64-linux-android,armv7-linux-androideabi,i686-linux-android,x86_64-linux-android
- uses: ./.github/actions/install-android
- uses: ./.github/actions/install-tauri
- uses: ./.github/actions/install-node
- name: Init Android app
run: |
pnpm tauri android init
- name: Build Web app
run: |
pnpm build
- name: Build Android app
run: |
pnpm tauri android build --verbose
build-mobile-ios:
runs-on: macos-latest
env:
IOS_CERTIFICATE: ${{ secrets.IOS_CERTIFICATE }}
IOS_CERTIFICATE_PASSWORD: ${{ secrets.IOS_CERTIFICATE_PASSWORD }}
IOS_MOBILE_PROVISION: ${{ secrets.IOS_MOBILE_PROVISION }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/install-rust
with:
targets: aarch64-apple-ios,x86_64-apple-ios,aarch64-apple-ios-sim
- uses: ./.github/actions/install-tauri
- uses: ./.github/actions/install-xcode
- uses: ./.github/actions/install-node
- uses: ./.github/actions/install-certificates
id: import-certificate
with:
certificate: ${{ env.IOS_CERTIFICATE }}
certificate-password: ${{ env.IOS_CERTIFICATE_PASSWORD }}
keychain-password: ${{ env.KEYCHAIN_PASSWORD }}
- name: init ios
run: |
pnpm tauri ios init --verbose
- name: download iOS platform
run: |
xcodebuild -downloadPlatform iOS
- name: checkout files
run: |
git checkout -- ./src-tauri/gen/apple
- name: Build Web app
run: |
pnpm build
- name: Tauri info
run: |
pnpm tauri info
- name: Build iOS app
env:
APPLE_SIGNING_IDENTITY: ${{ steps.import-certificate.outputs.certificate-id }}
run: |
pnpm tauri ios build --verbose --export-method app-store-connect
# - uses: tauri-apps/tauri-action@v0
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
# APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
# APPLE_ID: ${{ secrets.APPLE_ID }}
# APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
# APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
# APPLE_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
# APPLE_SIGNING_IDENTITY: ${{ env.DESKTOP_CERT_ID }}
# with:
# tagName: app-v__VERSION__ # the action automatically replaces \_\_VERSION\_\_ with the app version.
# releaseName: App v__VERSION__
# releaseBody: See the assets to download this version and install.
# releaseDraft: true
# prerelease: false
# args: ${{ matrix.args }}
release:
permissions:
contents: write
runs-on: ubuntu-latest
needs:
- build-desktop-linux
- build-desktop-macos
- build-desktop-windows
- build-mobile-android
- build-mobile-ios
steps:
- run: echo 'Release'