Skip to content

bump version string #99

bump version string

bump version string #99

Workflow file for this run

# .github/workflows/release.yml
name: 'Release: Build and Upload Tauri App'
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+*'
workflow_dispatch:
inputs:
tag:
description: 'Tag to build (e.g., v2.1.0)'
required: true
type: string
jobs:
build-tauri:
# Use a strategy matrix to build on both windows and macos
permissions:
contents: write
strategy:
fail-fast: false
matrix:
platform:
- os: macos-latest # Apple Silicon (ARM64)
target: aarch64-apple-darwin
- os: macos-15-intel # Intel (x86_64)
target: x86_64-apple-darwin
- os: ubuntu-latest # Linux (x86_64)
target: x86_64-unknown-linux-gnu
- os: windows-latest # Windows (x86_64)
target: x86_64-pc-windows-msvc
runs-on: ${{ matrix.platform.os }}
steps:
# 1. Checkout the repository code
- name: Checkout repository
uses: actions/checkout@v4
# 2. Install Node.js
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 18 # Using LTS version 18, which is very stable
# 3. Install Rust toolchain
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
# Pin webkit to older version to avoid EGL_BAD_PARAMETER in AppImage
- name: Install Linux dependencies
if: matrix.platform.os == 'ubuntu-latest'
run: |
sudo apt-get update
# Pin libwebkit2gtk to 2.44.x to avoid EGL issues on Fedora/Arch
sudo apt-get install -y libglib2.0-dev libgtk-3-dev libappindicator3-dev librsvg2-dev patchelf libpipewire-0.3-dev libgbm-dev
sudo apt-get install -y --allow-downgrades \
libwebkit2gtk-4.1-dev=2.44.* \
libwebkit2gtk-4.1-0=2.44.* \
gir1.2-webkit2-4.1=2.44.* \
libjavascriptcoregtk-4.1-dev=2.44.* \
libjavascriptcoregtk-4.1-0=2.44.* \
gir1.2-javascriptcoregtk-4.1=2.44.*
#
# - name: Workaround for AppImage project migration
# if: matrix.platform.os == 'ubuntu-latest'
# run: |
# mkdir -p ~/.cache/tauri-bundler/
# wget -O ~/.cache/tauri-bundler/AppRun-x86_64 https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage
# chmod +x ~/.cache/tauri-bundler/AppRun-x86_64
# 4. Install pnpm
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
# 5. Install frontend dependencies
- name: Install app dependencies
run: pnpm install
working-directory: ./app
# 6. Build the frontend
- name: Build frontend
run: pnpm build
working-directory: ./app
# 7. Build the observe CLI and stage it as a named sidecar for Tauri
- name: Build observe CLI
run: cargo build --release --manifest-path cli/Cargo.toml
- name: Stage observe CLI sidecar
shell: bash
run: |
mkdir -p app/desktop/binaries
if [[ "${{ runner.os }}" == "Windows" ]]; then
cp cli/target/release/observe.exe "app/desktop/binaries/observe-${{ matrix.platform.target }}.exe"
else
cp cli/target/release/observe "app/desktop/binaries/observe-${{ matrix.platform.target }}"
fi
# 8. Build the Tauri application and create a GitHub release
- name: Build and release Tauri app
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
with:
# Desktop Tauri project location
projectPath: ./app/desktop
# Config for the GitHub Release
tagName: ${{ inputs.tag || github.ref_name }} # Uses input tag (manual) or pushed tag (auto)
releaseName: 'Observer AI ${{ inputs.tag || github.ref_name }}'
releaseBody: |
This is an automated release.
See the assets below to download the application for your operating system.
# Creates a draft release. You must manually publish it after the workflow is done.
# This is safer as it allows you to review and add changelogs.
releaseDraft: true
# Set to true if your tag is a pre-release like v1.0.0-beta.1
prerelease: false