name: "CI" on: push: branches-ignore: - 'dependabot/**' - release pull_request: jobs: test-tauri: strategy: fail-fast: false matrix: platform: [macos-latest, ubuntu-latest, windows-latest] runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v2 - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - uses: actions/cache@v2 id: yarn-cache with: path: | ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ matrix.platform }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ matrix.platform }}-yarn- - uses: actions/cache@v2 with: path: | ~/.cargo/registry ~/.cargo/git ~/.cargo/bin src-tauri/target key: ${{ matrix.platform }}-cargo-${{ hashFiles('**/Cargo.lock') }} restore-keys: | ${{ matrix.platform }}-cargo- - name: setup node uses: actions/setup-node@v1 with: node-version: 12 - name: install Rust stable uses: actions-rs/toolchain@v1 with: toolchain: stable - name: install tauri bundler if: runner.os != 'Windows' run: cargo install tauri-bundler || [ $? -eq 101 ] - name: install tauri bundler if: runner.os == 'Windows' run: cargo install tauri-bundler; exit ($LASTEXITCODE -ne 101 -and $LASTEXITCODE -ne 0) shell: powershell -command "& '{0}'" - name: install webkit2gtk (ubuntu only) if: matrix.platform == 'ubuntu-16.04' run: | sudo apt-get update sudo apt-get install -y webkit2gtk-4.0 squashfs-tools - name: install app dependencies run: yarn - uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: npmScript: "tauri:build" - uses: actions/upload-artifact@v2 with: name: my-artifact-${{ runner.os }} path: src-tauri/target/release/bundle