Skip to content

Build

Build #66

Workflow file for this run

name: Build
on:
workflow_run:
workflows: ["Test"]
branches: ["main"]
types:
- completed
concurrency:
group: build-${{ github.ref }}
cancel-in-progress: true
jobs:
test-build:
if: github.event.workflow_run.conclusion == 'success'
strategy:
fail-fast: true
matrix:
platform: [macos-latest, ubuntu-latest, windows-latest]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18
cache: "npm"
- name: Install dependencies
run: npm install
- name: Install Rust stable
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: "./src-tauri -> target"
- name: Install Linux dependencies
if: matrix.platform == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf
- name: Install OpenSSL
if: matrix.platform == 'windows-latest'
run: |
choco install openssl --execution-timeout 7200
mkdir -p "C:\Program Files\OpenSSL\ca"
curl -o "C:\Program Files\OpenSSL\ca\cacert.pem" https://curl.se/ca/cacert.pem
copy "C:\Program Files\OpenSSL\bin\libcrypto-3-x64.dll" .\src-tauri
copy "C:\Program Files\OpenSSL\bin\libssl-3-x64.dll" .\src-tauri
- name: Set Windows Env Vars
if: matrix.platform == 'windows-latest'
run: |
echo "OPENSSL_DIR='C:\Program Files\OpenSSL'" >> $env:GITHUB_ENV
echo "SSL_CERT_FILE='C:\Program Files\OpenSSL\ca\cacert.pem'" >> $env:GITHUB_ENV
echo "OPENSSL_NO_VENDOR=1" >> $env:GITHUB_ENV
- name: Build Vite + Tauri
env:
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
run: |
npm run build