Skip to content

Merge branch 'feat/please-help-me-setup-automated-releases' #1

Merge branch 'feat/please-help-me-setup-automated-releases'

Merge branch 'feat/please-help-me-setup-automated-releases' #1

Workflow file for this run

name: Release
on:
push:
tags:
- "v*"
permissions:
contents: write
jobs:
create-release:
runs-on: ubuntu-latest
outputs:
release_id: ${{ steps.create.outputs.id }}
steps:
- uses: actions/checkout@v4
- name: Create draft release
id: create
uses: softprops/action-gh-release@v2
with:
draft: true
generate_release_notes: true
build-linux:
needs: create-release
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Patch version from tag
run: |
VERSION="${GITHUB_REF_NAME#v}"
sed -i 's/"version": ".*"/"version": "'$VERSION'"/' package.json
sed -i 's/"version": ".*"/"version": "'$VERSION'"/' src-tauri/tauri.conf.json
sed -i '0,/^version = /s/^version = ".*"/version = "'$VERSION'"/' src-tauri/Cargo.toml
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: "lts/*"
cache: pnpm
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
workspaces: src-tauri
- run: pnpm install
- name: Build and upload
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
releaseId: ${{ needs.create-release.outputs.release_id }}
build-macos:
needs: create-release
runs-on: macos-latest
strategy:
matrix:
target: [aarch64-apple-darwin, x86_64-apple-darwin]
steps:
- uses: actions/checkout@v4
- name: Patch version from tag
run: |
VERSION="${GITHUB_REF_NAME#v}"
sed -i '' 's/"version": ".*"/"version": "'$VERSION'"/' package.json
sed -i '' 's/"version": ".*"/"version": "'$VERSION'"/' src-tauri/tauri.conf.json
sed -i '' '1,/^version = /s/^version = ".*"/version = "'$VERSION'"/' src-tauri/Cargo.toml
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: "lts/*"
cache: pnpm
- uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }}
- uses: Swatinem/rust-cache@v2
with:
workspaces: src-tauri
- run: pnpm install
- name: Build and upload
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
releaseId: ${{ needs.create-release.outputs.release_id }}
args: --target ${{ matrix.target }}