chore: tweak github actions #173
Workflow file for this run
This file contains 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
name: 'Build' | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
build-verifier: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Install Go | |
uses: actions/setup-go@v5 | |
- name: Build Verifier | |
run: | | |
pushd verifier | |
./build.sh | |
popd | |
- name: Upload the artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: verifier-builds | |
path: verifier/dist/* | |
publish-tauri: | |
needs: build-verifier | |
permissions: | |
contents: write | |
strategy: | |
fail-fast: false | |
matrix: | |
# maybe update to macOS 14 if this is ARM64-ready? | |
platform: [macos-13, ubuntu-20.04, windows-2022] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- name: Run sccache-cache | |
uses: mozilla-actions/[email protected] | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Download Verifier | |
uses: actions/download-artifact@v4 | |
with: | |
name: verifier-builds | |
path: verifier/dist/ | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v3 | |
with: | |
version: latest | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: 'pnpm' | |
- name: Deploy Rust to CI | |
uses: dtolnay/rust-toolchain@stable | |
- name: Install dependencies (Ubuntu only) | |
if: matrix.platform == 'ubuntu-20.04' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf | |
- name: Deploy frontend dependencies | |
run: pnpm install | |
- name: Compile software | |
run: pnpm tauri build --ci | |
env: | |
SCCACHE_GHA_ENABLED: 'true' | |
RUSTC_WRAPPER: 'sccache' | |
- name: Upload the Linux packages (AppImage) | |
uses: actions/upload-artifact@v4 | |
if: matrix.platform == 'ubuntu-20.04' | |
with: | |
name: linux-packages | |
path: src-tauri/target/release/bundle/appimage/*.AppImage | |
- name: Upload the Linux packages (ELF) | |
uses: actions/upload-artifact@v4 | |
if: matrix.platform == 'ubuntu-20.04' | |
with: | |
name: linux-packages-raw | |
# TODO: a better way to find just the binary | |
path: src-tauri/target/release/fabulously-optimized-installer | |
- name: Upload the macOS packages | |
uses: actions/upload-artifact@v4 | |
if: matrix.platform == 'macos-13' | |
with: | |
name: macos-packages | |
path: src-tauri/target/release/bundle/dmg/*.dmg | |
- name: Upload the Windows packages | |
uses: actions/upload-artifact@v4 | |
if: matrix.platform == 'windows-2022' | |
with: | |
name: windows-packages | |
path: src-tauri/target/release/*.exe |