build(tauri): migrate from v1 to v2 #1187
Workflow file for this run
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: Unit | |
on: | |
push: | |
branches: ['main'] | |
pull_request: | |
branches: ['main'] | |
concurrency: | |
cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
jobs: | |
webview_test: | |
name: Test Webview | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
cache: yarn | |
node-version: 22 | |
- name: Install Node.js dependencies | |
run: yarn | |
- name: Run | |
run: yarn test:unit:webview --coverage | |
- name: Upload Coverage | |
uses: codecov/codecov-action@v4 | |
with: | |
fail_ci_if_error: true | |
flags: webview | |
token: ${{ secrets.CODECOV_TOKEN }} | |
core_test_debian: | |
name: Test Core (debian-latest) | |
runs-on: ubuntu-latest | |
container: | |
image: ivangabriele/tauri:debian-bookworm-22 | |
options: --security-opt seccomp=unconfined | |
env: | |
PROJECT_ROOT_PATH: /__w/clamav-desktop/clamav-desktop | |
RUST_BACKTRACE: 1 | |
TARGET: x86_64-unknown-linux-gnu | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# https://github.com/Swatinem/rust-cache#example-usage | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
key: unit_core_test_debian-latest | |
prefix-key: rust-cache | |
shared-key: v0 | |
workspaces: './src-tauri -> target' | |
- name: Install core build requirements | |
run: make setup-debian | |
- name: Setup Rust | |
uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
components: 'cargo,clippy,rust-docs,rust-src,rustc,rustfmt' | |
rustflags: '' | |
toolchain: '1.80' | |
- name: Print versions | |
run: | | |
cat /etc/os-release | |
rustc -V | |
cargo -V | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
cache: yarn | |
node-version: 22 | |
- name: Install Node.js dependencies | |
run: yarn | |
- name: Prepare core build | |
run: node ./scripts/build/prepare_core_build.js | |
# https://github.com/tauri-apps/tauri/issues/3142 | |
- name: Create fake /dist directory | |
run: mkdir ./dist | |
- name: Run unit tests (with coverage) | |
run: cargo tarpaulin --frozen --no-fail-fast --out Xml --workspace -- --nocapture | |
working-directory: ./src-tauri | |
- name: Upload tests coverage | |
uses: codecov/codecov-action@v4 | |
with: | |
directory: ./src-tauri | |
fail_ci_if_error: true | |
flags: core | |
token: ${{ secrets.CODECOV_TOKEN }} | |
core_test_macos: | |
name: Test Core (macos-14) | |
runs-on: macos-14 | |
env: | |
PROJECT_ROOT_PATH: '/Users/runner/work/clamav-desktop/clamav-desktop' | |
RUST_BACKTRACE: 1 | |
TARGET: aarch64-apple-darwin | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# https://github.com/Swatinem/rust-cache#example-usage | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
key: unit_core_test_macos-14 | |
prefix-key: rust-cache | |
shared-key: v0 | |
workspaces: './src-tauri -> target' | |
- name: Install core build requirements | |
run: make setup-macos | |
- name: Setup Rust | |
uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
components: 'cargo,clippy,rust-docs,rust-src,rustc,rustfmt' | |
rustflags: '' | |
toolchain: '1.80' | |
- name: Print versions | |
run: | | |
rustc -V | |
cargo -V | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
cache: yarn | |
node-version: 22 | |
- name: Install Node.js dependencies | |
run: yarn | |
# https://github.com/tauri-apps/tauri/issues/3142 | |
- name: Create fake /dist directory | |
run: mkdir ./dist | |
- name: Prepare core build | |
run: node ./scripts/build/prepare_core_build.js | |
- name: Build | |
run: cargo build | |
working-directory: ./src-tauri | |
- name: Run tests | |
run: cargo test --no-fail-fast --workspace -- --nocapture | |
working-directory: ./src-tauri | |
core_test_windows: | |
name: Test Core (windows-2022) | |
runs-on: windows-2022 | |
env: | |
PROJECT_ROOT_PATH: 'D:\a\clamav-desktop\clamav-desktop' | |
RUST_BACKTRACE: 1 | |
TARGET: x86_64-pc-windows-msvc | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# https://github.com/Swatinem/rust-cache#example-usage | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
key: unit_core_test_windows-2022 | |
prefix-key: rust-cache | |
shared-key: v0 | |
workspaces: './src-tauri -> target' | |
- name: Setup Rust | |
uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
components: 'cargo,clippy,rust-docs,rust-src,rustc,rustfmt' | |
rustflags: '' | |
toolchain: '1.80' | |
- name: Print versions | |
run: | | |
rustc -V | |
cargo -V | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
cache: yarn | |
node-version: 22 | |
- name: Install Node.js dependencies | |
run: yarn | |
# https://github.com/tauri-apps/tauri/issues/3142 | |
- name: Create fake /dist directory | |
run: mkdir ./dist | |
- name: Prepare core build | |
run: node ./scripts/build/prepare_core_build.js | |
- name: Build | |
run: cargo build | |
working-directory: ./src-tauri | |
- name: Run tests | |
run: cargo test --no-fail-fast --workspace -- --nocapture | |
working-directory: ./src-tauri |