Skip to content

Release v0.4.0

Release v0.4.0 #10

Workflow file for this run

# 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 }}