Fix build errors and update to latest tauri version #36
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 and test | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ main, gh-actions ] | |
pull_request: | |
branches: [ main ] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
build-api: | |
defaults: | |
run: | |
shell: bash | |
working-directory: mediarepo-api | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v2 | |
if: ${{ !env.ACT }} | |
- name: Cache build data | |
if: ${{ !env.ACT }} | |
uses: actions/cache@v2 | |
with: | |
path: | | |
target | |
~/.cargo/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }} | |
restore-keys: | | |
${{ runner.os }}-cargo- | |
- name: Install OS-specific dependencies | |
uses: knicknic/os-specific-run@v1.0.3 | |
with: | |
linux: | | |
sudo apt-get update | |
DEBIAN_FRONTEND=noninteractive sudo apt-get install libwebkit2gtk-4.0-dev libgtk-3-dev libappindicator3-dev -y | |
- name: Build | |
run: cargo build --verbose | |
- name: Build API | |
run: cargo build --features=client-api --verbose | |
- name: Build Plugin | |
run: cargo build --features=tauri-plugin --verbose | |
- name: Test | |
run: cargo test --all-features | |
build-daemon: | |
# to run fewer steps in parallel | |
needs: build-api | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v2 | |
if: ${{ !env.ACT }} | |
- name: Cache build data | |
if: ${{ !env.ACT }} | |
uses: actions/cache@v2 | |
with: | |
path: | | |
target | |
~/.cargo/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }} | |
restore-keys: | | |
${{ runner.os }}-cargo- | |
- name: setup python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '^3.7' | |
- name: Build | |
run: python scripts/build.py daemon --verbose --install-tooling | |
- name: Upload artifacts | |
if: ${{ !env.ACT }} | |
uses: actions/upload-artifact@v2 | |
with: | |
name: mediarepo-daemon-${{ runner.os }} | |
path: | | |
out/* | |
build-ui: | |
# to run fewer steps in parallel | |
needs: build-api | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
steps: | |
- uses: actions/checkout@v2 | |
if: ${{ !env.ACT }} | |
- name: Cache Dependencies | |
if: ${{ !env.ACT }} | |
id: cache-dependencies | |
uses: actions/cache@v2 | |
with: | |
path: | | |
node_modules | |
src-tauri/target | |
/home/runner/.cargo | |
~/.cargo | |
key: ${{ runner.os }}-release-dependencies-${{ hashFiles('src-tauri/Cargo.lock') }}-${{ hashFiles('yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-release-dependencies- | |
${{ runner.os }}-dependencies- | |
- name: Use Node.js 16 | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 16 | |
- name: setup python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '^3.7' | |
- name: Install OS-specific dependencies | |
uses: knicknic/os-specific-run@v1.0.3 | |
with: | |
linux: | | |
sudo apt-get update | |
DEBIAN_FRONTEND=noninteractive sudo apt-get install libwebkit2gtk-4.0-dev libgtk-3-dev libappindicator3-dev -y | |
- name: Build project | |
run: python scripts/build.py ui --verbose --install-tooling | |
- name: Upload artifacts | |
if: ${{ !env.ACT }} | |
uses: actions/upload-artifact@v2 | |
with: | |
name: mediarepo-ui-${{ runner.os }}-release | |
path: | | |
out/* |