Skip to content

chore(ci): update workflow config #70

chore(ci): update workflow config

chore(ci): update workflow config #70

Workflow file for this run

name: Snapshot Builds
on:
push:
paths:
- '.github/workflows/snapshot.yml'
- 'public/**'
- 'scripts/**'
- 'src/**'
- 'src-tauri/**'
- 'package.json'
- 'bun.lockb'
- 'vite.config.ts'
jobs:
build:
strategy:
matrix:
config:
- os: windows
arch: x64
target: x86_64-pc-windows-msvc
- os: windows
arch: arm64
target: aarch64-pc-windows-msvc
- os: ubuntu
arch: x64
target: x86_64-unknown-linux-gnu
- os: macos
arch: x64
target: x86_64-apple-darwin
- os: macos
arch: arm64
target: aarch64-apple-darwin
runs-on: ${{ matrix.config.os }}-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.config.target }}
- name: Setup Rust Cache
uses: swatinem/rust-cache@v2
with:
key: ${{ matrix.config.target }}
workspaces: './src-tauri -> target'
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Install Dependencies
run: bun install
- name: Install Dependencies (Ubuntu)
if: ${{ matrix.config.os == 'ubuntu' }}
run: |
sudo apt update
sudo apt install -y libwebkit2gtk-4.0-dev \
build-essential \
curl \
wget \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev
- name: Build App
run: bun run build --target ${{ matrix.config.target }}
- name: Setup Artifact (Windows)
if: ${{ matrix.config.os == 'windows' }}
run: pwsh scripts/setup-artifact.ps1 ${{ matrix.config.os }} ${{ matrix.config.arch }} ${{ matrix.config.target }}
- name: Setup Artifact (Ubuntu, macOS)
if: ${{ matrix.config.os != 'windows' }}
run: bash scripts/setup-artifact.sh ${{ matrix.config.os }} ${{ matrix.config.arch }} ${{ matrix.config.target }}
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.config.os }}-${{ matrix.config.arch }}
path: artifacts/${{ matrix.config.os }}-${{ matrix.config.arch }}/**