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