name: target-dir on: [push, pull_request] jobs: target-dir: strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] name: Test custom target-dir on ${{ matrix.os }} runs-on: ${{ matrix.os }} env: CARGO_TERM_COLOR: always steps: - uses: actions/checkout@v3 # When rustup is updated, it tries to replace its binary, which on Windows is somehow locked. # This can result in the CI failure, see: https://github.com/rust-lang/rustup/issues/3029 - run: | rustup set auto-self-update disable rustup toolchain install stable --profile minimal # the `workspaces` option has the format `$workspace -> $target-dir` # and the `$target-dir` is relative to the `$workspace`. - uses: ./ with: workspaces: tests -> ../custom-target-dir - run: cargo test --manifest-path tests/Cargo.toml --target-dir custom-target-dir