Fix the Companion on the phone #11
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
| # SPDX-License-Identifier: LicenseRef-PolyForm-Noncommercial-1.0.0 | |
| # Build installable binaries and attach them to a GitHub Release on every v* tag. | |
| # | |
| # macOS → universal .dmg (Apple Silicon + Intel). Signs + notarizes automatically | |
| # IF the APPLE_* secrets are set; otherwise the .dmg is unsigned | |
| # (users right-click → Open the first time). | |
| # Linux → .AppImage / .deb / .rpm. | |
| name: Release | |
| on: | |
| push: | |
| tags: | |
| - "v*" | |
| jobs: | |
| release: | |
| permissions: | |
| contents: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - platform: macos-latest | |
| args: "--target universal-apple-darwin" | |
| rust-targets: "aarch64-apple-darwin,x86_64-apple-darwin" | |
| - platform: ubuntu-22.04 | |
| args: "" | |
| rust-targets: "" | |
| runs-on: ${{ matrix.platform }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Linux system dependencies | |
| if: matrix.platform == 'ubuntu-22.04' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| libwebkit2gtk-4.1-dev \ | |
| build-essential curl wget file \ | |
| libxdo-dev libssl-dev \ | |
| libayatana-appindicator3-dev \ | |
| librsvg2-dev patchelf | |
| - name: Set up Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| - name: Set up Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: ${{ matrix.rust-targets }} | |
| - name: Cache Rust build | |
| uses: swatinem/rust-cache@v2 | |
| with: | |
| workspaces: ./src-tauri -> target | |
| - name: Install frontend dependencies | |
| run: npm ci | |
| - name: Build and release | |
| uses: tauri-apps/tauri-action@v0 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # Updater signing — required for self-update to verify downloads. | |
| # Add TAURI_SIGNING_PRIVATE_KEY as a repo secret (contents of | |
| # ~/.tauri/field-notes-updater.key). Password is empty for this key. | |
| TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} | |
| TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} | |
| # macOS Developer ID signing + notarization. | |
| # Currently DISABLED — with no Apple Developer cert, passing empty | |
| # APPLE_* values makes Tauri attempt (and fail) an empty codesign, so | |
| # the build ad-hoc signs instead. To enable once you have a Developer | |
| # ID: add these as repository secrets and uncomment this block. | |
| # APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} | |
| # APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} | |
| # APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }} | |
| # APPLE_ID: ${{ secrets.APPLE_ID }} | |
| # APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} | |
| # APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} | |
| with: | |
| tagName: ${{ github.ref_name }} | |
| releaseName: "Field Notes ${{ github.ref_name }}" | |
| releaseBody: | | |
| Download an installer for your platform below. | |
| **macOS:** not yet notarized — on first launch, **right-click the app and | |
| choose Open** to get past Gatekeeper. | |
| If you still have a problem opening it, use the **"Open Anyway"** setting: | |
| 1. Try to open the app and dismiss the warning dialog. | |
| 2. Open the **Apple menu** and select **System Settings**. | |
| 3. Click **Privacy & Security** in the left sidebar. | |
| 4. Scroll to the **Security** section — you'll see a message that the app was blocked. | |
| 5. Click **Open Anyway**, enter your Mac's login password, and click **OK**. | |
| **Linux:** use the .AppImage (portable), or the .deb / .rpm for your distro. | |
| The Companion and text-import features run a model locally — the app guides | |
| you through installing Ollama and downloading one on first use. | |
| releaseDraft: true | |
| # The updater reads /releases/latest/download/latest.json, and GitHub's | |
| # "latest" excludes prereleases. So marking a v*-beta / v*-rc tag as a | |
| # prerelease is what keeps it out of everyone's auto-update — it must not | |
| # depend on remembering to tick a box in the publish dialog. A plain | |
| # `v0.4.0` has no `-`, stays non-prerelease, and becomes the update everyone | |
| # (including beta testers, since 0.4.0 > 0.4.0-beta.1) is offered. | |
| prerelease: ${{ contains(github.ref_name, '-') }} | |
| args: ${{ matrix.args }} |