Skip to content

Create GUI Release

Create GUI Release #34

Workflow file for this run

name: Create GUI Release
on:
workflow_dispatch:
jobs:
release:
permissions:
contents: write
strategy:
fail-fast: false
matrix:
include:
- platform: "macos-latest" # for Arm based macs (M1 and above).
target: "aarch64-apple-darwin"
args: "--target aarch64-apple-darwin"
- platform: "macos-latest" # for Intel based macs.
target: "x86_64-apple-darwin"
args: "--target x86_64-apple-darwin"
- platform: "ubuntu-22.04"
target: "x86_64-unknown-linux-gnu"
args: ""
- platform: "windows-latest"
target: "x86_64-pc-windows-msvc"
args: ""
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt install libwebkit2gtk-4.1-dev \
build-essential \
curl \
wget \
file \
libxdo-dev \
libssl-dev \
libayatana-appindicator3-dev \
librsvg2-dev
- name: Setup Rust Toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
target: ${{ matrix.target }}
- name: Setup Rust Cache
uses: Swatinem/rust-cache@v2
with:
shared-key: v1-gui-${{ matrix.platform }}-${{ matrix.target }}-rust-cache-${{ hashFiles('Cargo.lock') }}
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version-file: owmods_gui/frontend/package.json
- name: Install Frontend Dependencies
working-directory: owmods_gui/frontend
run: npm install
- name: Build GUI
uses: tauri-apps/tauri-action@dev
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
ANALYTICS_API_KEY: ${{ secrets.ANALYTICS_API_KEY }}
VITE_COMMIT: ${{ github.sha }}
with:
tagName: gui_v__VERSION__
includeUpdaterJson: true
releaseName: "Outer Wilds Mod Manager GUI Version __VERSION__"
releaseBody: "See the assets to download and install this version."
releaseDraft: true
prerelease: false
args: ${{ matrix.args }}