# Copyright 2019-2023 Tauri Programme within The Commons Conservancy # SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: MIT name: test core on: push: branches: - dev - 1.x pull_request: paths: - '.github/workflows/test-core.yml' - 'core/**' - '!core/tauri/scripts/**' 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.61.0' } - { target: x86_64-unknown-linux-gnu, os: ubuntu-latest, toolchain: '1.60.0' } - { target: x86_64-apple-darwin, os: macos-latest, toolchain: '1.60.0' } features: - { args: --no-default-features, key: no-default } - { args: --features api-all, key: api-all } - { args: --features compression,wry,linux-protocol-headers,isolation,custom-protocol,api-all,cli,updater,system-tray,windows7-compat,http-multipart,test, key: all } steps: - uses: actions/checkout@v2 - name: install stable uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.platform.toolchain }} target: ${{ matrix.platform.target }} override: true default: true - name: install Linux dependencies if: contains(matrix.platform.target, 'unknown-linux') run: | sudo apt-get update sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev - uses: Swatinem/rust-cache@v2 with: workspaces: core -> ../target save-if: ${{ matrix.features.key == 'all' }} - name: Downgrade crates with MSRV conflict # The --precise flag can only be used once per invocation. run: | cargo update -p toml:0.7.6 --precise 0.7.3 cargo update -p toml_edit --precise 0.19.8 cargo update -p toml_datetime --precise 0.6.1 cargo update -p serde_spanned --precise 0.6.1 cargo update -p winnow --precise 0.4.1 cargo update -p time --precise 0.3.15 cargo update -p ignore --precise 0.4.18 cargo update -p raw-window-handle --precise 0.5.0 cargo update -p cargo_toml:0.15.3 --precise 0.15.2 cargo update -p zbus --precise 3.13.0 cargo update -p zbus_names --precise 2.5.0 cargo update -p is-terminal --precise 0.4.7 cargo update -p colored --precise 2.0.2 cargo update -p tempfile --precise 3.6.0 cargo update -p serde_with:3.3.0 --precise 3.0.0 cargo update -p tokio --precise 1.29.0 cargo update -p flate2 --precise 1.0.26 - name: test run: cargo test --target ${{ matrix.platform.target }} ${{ matrix.features.args }}