rqbit/.github/workflows/test.yml
2024-08-28 16:32:56 +01:00

58 lines
1.7 KiB
YAML

name: Run tests
on:
push:
branches: [main, dev]
paths-ignore:
- "README.md"
pull_request:
branches: [main]
paths-ignore:
- "README.md"
env:
CARGO_TERM_COLOR: always
jobs:
check-rust-compat:
runs-on: ubuntu-latest
strategy:
matrix:
rust_version: ["1.75", "1.76", "1.78"]
steps:
- name: rustup toolchain install ${{ matrix.rust_version }}
run: |
rustup toolchain install ${{ matrix.rust_version }}
- uses: actions/checkout@v4
- run: rustup override set ${{ matrix.rust_version }}
- name: cargo check
run: cargo check
check-desktop:
runs-on: windows-latest
steps:
- name: rustup toolchain install 1.75
run: |
rustup toolchain install 1.75
- uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
- run: rustup override set 1.75
- name: cargo check desktop
working-directory: desktop/src-tauri
run: cargo check
test:
strategy:
matrix:
os: [windows-latest, macos-latest, ubuntu-latest]
features: [default-tls, rust-tls]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- run: rustup toolchain install stable --profile minimal
- uses: Swatinem/rust-cache@v2
- name: Run tests
run: cargo test --no-default-features --features=${{ matrix.features }}
- name: Ensure openssl isn't included
if: ${{ matrix.features == 'rust-tls' && matrix.os == 'ubuntu-latest' }}
run: |
cargo install cargo-tree
cargo tree --no-default-features --features ${{ matrix.features }} | grep openssl && false || true