Skip to content

um

um #147

Workflow file for this run

name: Build
on: [push, pull_request]
jobs:
build:
name: Build for ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
name: [linux, windows, macos]
bin: [bff-cli, bff-gui]
include:
- name: linux
os: ubuntu-latest
executable_name_ext: ""
- name: windows
os: windows-latest
executable_name_ext: .exe
- name: macos
os: macos-latest
executable_name_ext: ""
exclude:
- name: linux
bin: bff-gui
steps:
- uses: actions/checkout@v1
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- uses: Swatinem/rust-cache@v2
- name: Setup Node
uses: actions/setup-node@v3
if: matrix.bin == 'bff-gui'
# - name: Install Linux dependencies
# run: |
# sudo apt-get update
# sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev librsvg2-dev patchelf glibc-source
# if: matrix.os == 'ubuntu-latest' && matrix.bin == 'bff-gui'
- name: Install frontend dependencies
run: npm install
working-directory: ./bff-gui
if: matrix.bin == 'bff-gui'
- name: Build GUI
run: npm run tauri build
working-directory: ./bff-gui
if: matrix.bin == 'bff-gui'
- name: Build CLI
run: cargo build --release --locked --bin ${{ matrix.bin }}
if: matrix.bin == 'bff-cli'
- name: Archive Artifacts
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.bin }}-${{ matrix.name }}-${{ github.sha }}
path: |
./target/release/${{ matrix.bin }}${{ matrix.executable_name_ext }}