Release MacOS Universal #14
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release MacOS Universal | |
on: | |
push: | |
tags: | |
- "v*" | |
workflow_dispatch: | |
jobs: | |
release: | |
permissions: | |
contents: write | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [macos-latest] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
# Clone the repo | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
# MacOS specific | |
- name: Cache Homebrew Bundler | |
if: matrix.platform == 'macos-latest' | |
id: cache | |
uses: actions/cache@v3 | |
with: | |
path: ${{ steps.set-up-homebrew.outputs.gems-path }} | |
key: ${{ runner.os }}-vibe-${{ steps.set-up-homebrew.outputs.gems-hash }} | |
restore-keys: ${{ runner.os }}-vibe- | |
- name: Install homebrew dependencies | |
if: matrix.platform == 'macos-latest' | |
run: | | |
brew install llvm openblas git lz4 libxml2 zlib bzip2 wget | |
# Setup Rust | |
- name: Rust setup | |
uses: dtolnay/rust-toolchain@stable | |
- name: Rust cache | |
uses: swatinem/rust-cache@v2 | |
with: | |
workspaces: "./desktop/src-tauri -> target" | |
cache-all-crates: true | |
# Setup NodeJS | |
- name: Sync node version and setup cache | |
uses: actions/setup-node@v4 | |
with: | |
node-version: "lts/*" | |
cache: "npm" # Set this to npm, yarn or pnpm. | |
cache-dependency-path: desktop/package-lock.json | |
# Setup NodeJS dependencies | |
- name: Install frontend dependencies | |
# If you don't have `beforeBuildCommand` configured you may want to build your frontend here too. | |
run: npm install # Change this to npm, yarn or pnpm. | |
working-directory: ./desktop | |
# Setup OpenBlas and FFMPEG | |
- name: Setup FFMPEG and OpenBlas | |
run: ./scripts/pre_build.sh | |
# Build and upload | |
- name: Build and Upload | |
uses: tauri-apps/tauri-action@v0 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tagName: v__VERSION__ # the action automatically replaces \_\_VERSION\_\_ with the app version | |
releaseName: "v__VERSION__" | |
releaseBody: "See the assets to download this version and install." | |
releaseDraft: true | |
prerelease: false |