[pull] dev from tauri-apps:dev #2217
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
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy | |
# SPDX-License-Identifier: Apache-2.0 | |
# SPDX-License-Identifier: MIT | |
name: test core | |
on: | |
push: | |
branches: | |
- dev | |
pull_request: | |
paths: | |
- '.github/workflows/test-core.yml' | |
- 'crates/**' | |
- '!crates/tauri/scripts/**' | |
- '!crates/tauri-cli/**' | |
- '!crates/tauri-bundler/**' | |
- '!crates/tauri-macos-sign/**' | |
- '!crates/tauri-schema-generator/**' | |
env: | |
RUST_BACKTRACE: 1 | |
CARGO_PROFILE_DEV_DEBUG: 0 # This would add unnecessary bloat to the target folder, decreasing cache efficiency. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
runs-on: ${{ matrix.platform.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: | |
- { | |
target: x86_64-pc-windows-msvc, | |
os: windows-latest, | |
toolchain: '1.77.2', | |
cross: false, | |
command: 'test' | |
} | |
- { | |
target: x86_64-unknown-linux-gnu, | |
os: ubuntu-latest, | |
toolchain: '1.77.2', | |
cross: false, | |
command: 'test' | |
} | |
- { | |
target: aarch64-apple-darwin, | |
os: macos-14, | |
toolchain: '1.77.2', | |
cross: false, | |
command: 'test' | |
} | |
- { | |
target: aarch64-apple-ios, | |
os: macos-latest, | |
toolchain: '1.77.2', | |
cross: false, | |
command: 'build' | |
} | |
- { | |
target: aarch64-linux-android, | |
os: ubuntu-latest, | |
toolchain: '1.77.2', | |
cross: true, | |
command: 'build' | |
} | |
features: | |
- { args: --no-default-features, key: no-default } | |
- { args: --all-features, key: all } | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install Rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.platform.toolchain }} | |
targets: ${{ matrix.platform.target }} | |
- name: install Linux dependencies | |
if: contains(matrix.platform.target, 'unknown-linux') | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y webkit2gtk-4.1 libxdo-dev libayatana-appindicator3-dev | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
prefix-key: v2 | |
save-if: ${{ matrix.features.key == 'all' }} | |
- name: test | |
if: ${{ !matrix.platform.cross }} | |
run: cargo ${{ matrix.platform.command }} --target ${{ matrix.platform.target }} ${{ matrix.features.args }} --manifest-path crates/tauri/Cargo.toml | |
- name: test (using cross) | |
if: ${{ matrix.platform.cross }} | |
run: | | |
cargo install cross --git https://github.com/cross-rs/cross --rev ac4c11cedc97cd7c27faed36e55377a90e6ed618 --locked | |
cross ${{ matrix.platform.command }} --target ${{ matrix.platform.target }} ${{ matrix.features.args }} --manifest-path crates/tauri/Cargo.toml |