name: 'Tauri GUI Build' on: push: branches: [ master ] pull_request: jobs: test-tauri: strategy: fail-fast: false matrix: platform: [macos-latest, windows-latest, ubuntu-20.04] runs-on: ${{ matrix.platform }} defaults: run: working-directory: ./theseus_gui steps: - uses: actions/checkout@v3 - name: setup node uses: actions/setup-node@v3 with: node-version: 16 - name: Install toolchain uses: actions-rs/toolchain@v1 with: toolchain: stable override: true components: rustfmt, clippy - 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: Get build cache id: cache-build uses: actions/cache@v2 with: path: ../target/** key: ${{ runner.os }}-theseus - name: Get yarn cache id: yarn-cache run: echo "::set-output name=dir::$(yarn cache dir)" - uses: actions/cache@v3 with: path: ${{ steps.yarn-cache.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: install frontend dependencies run: yarn install --immutable --immutable-cache --check-cache - uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Run Lint if: matrix.platform == 'ubuntu-20.04' uses: actions-rs/clippy-check@v1 with: token: ${{ secrets.GITHUB_TOKEN }} args: --bin theseus_cli