99 lines
3.7 KiB
YAML
99 lines
3.7 KiB
YAML
name: Build Tauri
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
environment:
|
|
type: environment
|
|
default: "Local"
|
|
|
|
push:
|
|
branches:
|
|
- "main"
|
|
- "feature/**"
|
|
- "fix/**"
|
|
paths:
|
|
- "packages/app/**"
|
|
- "packages/core/**"
|
|
- "packages/tauri/**"
|
|
- "packages/locale/**"
|
|
- "assets/**"
|
|
|
|
jobs:
|
|
build:
|
|
environment: ${{ github.event.inputs.environment || 'Local' }}
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
platform: [macos-latest, ubuntu-latest, windows-latest]
|
|
|
|
runs-on: ${{ matrix.platform }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-node@v2
|
|
with:
|
|
node-version-file: ".nvmrc"
|
|
- name: Install Rust stable
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
- name: Install webkit2gtk (ubuntu only)
|
|
if: matrix.platform == 'ubuntu-latest'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y webkit2gtk-4.0
|
|
- name: Install dependencies
|
|
run: |
|
|
npm i -g npm@8.2.0
|
|
npm ci
|
|
- name: Build (debug)
|
|
if: github.event.inputs.environment != 'Production'
|
|
run: npm run tauri:build:debug
|
|
env:
|
|
PL_SERVER_URL: ${{ secrets.PL_SERVER_URL }}
|
|
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
|
|
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
|
|
- name: Build (production)
|
|
if: github.event.inputs.environment == 'Production'
|
|
run: npm run tauri:build
|
|
env:
|
|
PL_SERVER_URL: ${{ secrets.PL_SERVER_URL }}
|
|
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
|
|
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
|
|
- name: Archive AppImage
|
|
uses: actions/upload-artifact@v2
|
|
if: matrix.platform == 'ubuntu-latest'
|
|
with:
|
|
name: padloc-linux-${{ github.sha }}-unsigned.AppImage
|
|
path: packages/tauri/src-tauri/target/debug/bundle/appimage/padloc*.AppImage
|
|
if-no-files-found: error
|
|
- name: Archive deb
|
|
uses: actions/upload-artifact@v2
|
|
if: matrix.platform == 'ubuntu-latest'
|
|
with:
|
|
name: padloc-linux-${{ github.sha }}-unsigned.deb
|
|
path: packages/tauri/src-tauri/target/debug/bundle/deb/*.deb
|
|
if-no-files-found: error
|
|
- name: Archive dmg
|
|
uses: actions/upload-artifact@v2
|
|
if: matrix.platform == 'macos-latest'
|
|
with:
|
|
name: padloc-macos-${{ github.sha }}-unsigned.dmg
|
|
path: packages/tauri/src-tauri/target/debug/bundle/dmg/*.dmg
|
|
if-no-files-found: error
|
|
- name: Archive app
|
|
uses: actions/upload-artifact@v2
|
|
if: matrix.platform == 'macos-latest'
|
|
with:
|
|
name: padloc-macos-${{ github.sha }}-unsigned.app
|
|
path: packages/tauri/src-tauri/target/debug/bundle/macos/*.app
|
|
if-no-files-found: error
|
|
- name: Archive msi
|
|
uses: actions/upload-artifact@v2
|
|
if: matrix.platform == 'windows-latest'
|
|
with:
|
|
name: padloc-windows-${{ github.sha }}-unsigned.msi
|
|
path: packages/tauri/src-tauri/target/debug/bundle/msi/*.msi
|
|
if-no-files-found: error
|