New Ver: Bug Fixes #77
Workflow file for this run
This file contains hidden or 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
| # .github/workflows/release.yml | |
| name: 'Release: Build and Upload Tauri App' | |
| on: | |
| push: | |
| tags: | |
| - 'v[0-9]+.[0-9]+.[0-9]+*' | |
| 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) | |
| - os: macos-15-intel # Intel (x86_64) New instance | |
| - os: ubuntu-latest # Linux (x86_64) | |
| - os: windows-latest # Windows (x86_64) | |
| 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 | |
| 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 frontend dependencies | |
| # We specify the working-directory to run this command inside the 'app/' folder. | |
| - name: Install app dependencies | |
| run: npm install | |
| working-directory: ./app | |
| # 5. Build the Tauri application and create a GitHub release | |
| - name: Build and release Tauri app | |
| # This is an official action from the Tauri team. | |
| uses: tauri-apps/tauri-action@v0 | |
| env: | |
| # This token is provided by GitHub Actions for free. | |
| # It's required to create a release. | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} | |
| TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} | |
| with: | |
| # This is the most important part: | |
| # It tells the action that your Tauri project is in the 'app/' directory. | |
| projectPath: ./app | |
| # Config for the GitHub Release | |
| tagName: ${{ github.ref_name }} # Uses the tag name that triggered the workflow (e.g., v1.0.0) | |
| releaseName: 'Observer AI v${{ 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 |