name: Test on: push: branches: [main] pull_request: branches: [main] env: SCCACHE_GHA_ENABLED: true RUSTC_WRAPPER: sccache CARGO_TERM_COLOR: always permissions: contents: read jobs: test: strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v7 - name: Setup Rust toolchain run: rustup toolchain install stable --profile minimal # For the rclone VFS provider's hermetic tests (Unix only; they drive an # rclone `local` remote, so no cloud account or credentials are needed). - name: Install rclone if: runner.os != 'Windows' shell: bash run: | if [ "$RUNNER_OS" = "macOS" ]; then brew install rclone else sudo apt-get update && sudo apt-get install -y rclone fi - name: Setup sccache uses: mozilla-actions/sccache-action@v0.0.10 - name: Build run: cargo build --verbose - name: Test run: cargo test --workspace --verbose