Release MacOS #33
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 | |
on: | |
push: | |
tags: | |
- "v*" | |
workflow_dispatch: | |
jobs: | |
release: | |
permissions: | |
contents: write | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [macos-14] | |
runs-on: ${{ matrix.platform }} | |
env: | |
working-directory: ./desktop | |
steps: | |
# Clone the repo | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
# Ubuntu specific | |
- name: Install dependencies (ubuntu only) | |
if: matrix.platform == 'ubuntu-20.04' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y clang build-essential curl wget file libopenblas-base libopenblas-dev libwebkit2gtk-4.0-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev libblas-dev liblapack-dev libavutil-dev libavformat-dev libavfilter-dev libavdevice-dev libgtk-3-dev libsoup2.4-dev | |
# MacOS specific | |
- name: Cache Homebrew Bundler | |
if: matrix.platform == 'macos-14' | |
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-14' | |
run: | | |
brew install openblas git lz4 libxml2 zlib bzip2 wget | |
# SKIP_CLEANUP=1 SKIP_BUILD=1 python3 ./desktop/src-tauri/build.py | |
- name: Get FFMPEG for mac | |
if: matrix.platform == 'macos-14' | |
run: | | |
./desktop/src-tauri/setup.mac.sh | |
# Setup Rust | |
- name: Rust setup | |
uses: dtolnay/rust-toolchain@stable | |
- name: Rust cache | |
uses: swatinem/rust-cache@v2 | |
with: | |
workspaces: "./desktop/src-tauri -> target" | |
# 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: ${{env.working-directory}} | |
- name: Install tauri-cli | |
run: cargo install tauri-cli | |
# Final build and upload | |
- name: Build the app | |
run: | | |
cd desktop/src-tauri | |
cargo tauri build | |
# # Final build and upload | |
# - name: Build the app | |
# uses: tauri-apps/tauri-action@v0 | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# with: | |
# tagName: ${{ github.ref_name }} # This only works if your workflow triggers on new tags. | |
# releaseName: "vibe v__VERSION__" # tauri-action replaces \_\_VERSION\_\_ with the app version. | |
# releaseBody: "See the assets to download and install this version." | |
# releaseDraft: true | |
# prerelease: false | |
# projectPath: ${{env.working-directory}} | |
# architecture: "x86_64" |