diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 471da43e0..cd872621b 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -121,7 +121,6 @@ jobs: # Need up-to-date compilers for kernels CC: clang-18 CXX: clang++-18 - GH_TOKEN: ${{ secrets.SOPHON_READ_TOKEN }} steps: - uses: actions/checkout@v6 with: @@ -165,11 +164,40 @@ jobs: - name: Run feature tests run: CARGO_ARGS="--profile ci" make -C ./lancedb feature-tests - name: Run examples - run: cargo run --profile ci --example simple --locked + run: cargo run --profile ci --all-features --example simple --locked + + remote: + timeout-minutes: 30 + # Running this requires access to secrets, so skip if this is a PR from a + # fork. Keep it separate from the all-features build so Cargo does not + # retain both dependency graphs in one target directory. + if: github.event_name != 'pull_request' || !github.event.pull_request.head.repo.fork + runs-on: ubuntu-2404-4x-x64 + defaults: + run: + shell: bash + working-directory: rust + env: + CC: clang-18 + CXX: clang++-18 + GH_TOKEN: ${{ secrets.SOPHON_READ_TOKEN }} + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: 0 + lfs: true + - uses: Swatinem/rust-cache@v2 + with: + # Remote tests use a different feature graph from the main Linux + # job. Cache downloads, but build into a fresh target directory. + cache-targets: false + save-if: ${{ github.ref == 'refs/heads/main' }} + - name: Install dependencies + run: | + sudo apt update + sudo apt install -y protobuf-compiler libssl-dev + - uses: rui314/setup-mold@v1 - name: Run remote tests - # Running this requires access to secrets, so skip if this is - # a PR from a fork. - if: github.event_name != 'pull_request' || !github.event.pull_request.head.repo.fork run: CARGO_ARGS="--profile ci" make -C ./lancedb remote-tests macos: