Skip to content

build(tauri): migrate from v1 to v2 #1186

build(tauri): migrate from v1 to v2

build(tauri): migrate from v1 to v2 #1186

Workflow file for this run

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