Skip to content

Commit c9e18cb

Browse files
authored
ci: update target dir for coverage runs (#3805)
The `-C instrument-coverage` flag doesn't play well with ASAN, because both instruments require hooking into shutdown so one ends up overriding the other. Signed-off-by: Andrew Duffy <[email protected]>
1 parent 0763a98 commit c9e18cb

File tree

1 file changed

+34
-13
lines changed

1 file changed

+34
-13
lines changed

.github/workflows/ci.yml

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -278,39 +278,33 @@ jobs:
278278
# https://spiraldb.slack.com/archives/C07BV3GKAJ2/p1732736281946729
279279
cargo hack clippy --no-default-features
280280
281-
rust-test:
282-
name: "Rust (tests)"
281+
rust-coverage:
282+
name: "Rust (coverage)"
283283
timeout-minutes: 120
284+
if: github.ref == 'refs/heads/develop'
284285
runs-on:
285286
- runs-on=${{ github.run_id }}
286287
- family=m7i+m7i-flex+m7a
287288
- cpu=8
288289
- image=ubuntu24-full-x64
289290
- extras=s3-cache
290-
- tag=rust-test
291+
- tag=rust-coverage
291292
steps:
292293
# Disable lints when running tests. They will be caught by the Rust lint job.
293-
- name: Setup environment (On develop)
294+
- name: Setup environment
294295
shell: bash
295-
if: github.ref == 'refs/heads/develop'
296296
run: |
297-
echo "RUSTFLAGS=-Cinstrument-coverage -A warnings -Z sanitizer=address">> $GITHUB_ENV
297+
echo "RUSTFLAGS=-Cinstrument-coverage -A warnings">> $GITHUB_ENV
298298
# Disable incremental compilation to get accurate coverage
299299
echo "CARGO_INCREMENTAL=0" >> $GITHUB_ENV
300300
echo "LLVM_PROFILE_FILE=target/coverage/vortex-%p-%m.profraw" >> $GITHUB_ENV
301301
echo "GRCOV_OUTPUT_FILE=target/coverage/vortex.lcov" >> $GITHUB_ENV
302-
- name: Setup environment
303-
shell: bash
304-
if: github.ref != 'refs/heads/develop'
305-
run: |
306-
echo "RUSTFLAGS=-A warnings -Z sanitizer=address" >> $GITHUB_ENV
307302
- uses: actions/checkout@v4
308303
with:
309304
submodules: "recursive"
310305
- uses: ./.github/actions/cleanup
311306
- uses: ./.github/actions/setup-rust
312307
- name: Install grcov
313-
if: github.ref == 'refs/heads/develop'
314308
uses: taiki-e/install-action@grcov
315309
- name: Install nextest
316310
uses: taiki-e/install-action@v2
@@ -319,7 +313,7 @@ jobs:
319313
- name: Rust Tests
320314
# vortex-duckdb-ext currently fails linking for cargo test targets.
321315
run: |
322-
cargo nextest run --locked --workspace --all-features --no-fail-fast --target x86_64-unknown-linux-gnu
316+
cargo nextest run --locked --workspace --all-features --no-fail-fast
323317
324318
- name: Generate coverage report
325319
if: github.ref == 'refs/heads/develop'
@@ -337,6 +331,33 @@ jobs:
337331
with:
338332
file: ${{ env.GRCOV_OUTPUT_FILE }}
339333

334+
rust-test:
335+
name: "Rust (tests)"
336+
timeout-minutes: 120
337+
runs-on:
338+
- runs-on=${{ github.run_id }}
339+
- family=m7i+m7i-flex+m7a
340+
- cpu=8
341+
- image=ubuntu24-full-x64
342+
- extras=s3-cache
343+
- tag=rust-test
344+
env:
345+
RUSTFLAGS: '-A warnings -Zsanitizer=address'
346+
steps:
347+
- uses: actions/checkout@v4
348+
with:
349+
submodules: "recursive"
350+
- uses: ./.github/actions/cleanup
351+
- uses: ./.github/actions/setup-rust
352+
- name: Install nextest
353+
uses: taiki-e/install-action@v2
354+
with:
355+
356+
- name: Rust Tests
357+
# vortex-duckdb-ext currently fails linking for cargo test targets.
358+
run: |
359+
cargo nextest run --locked --workspace --all-features --no-fail-fast --target x86_64-unknown-linux-gnu
360+
340361
build-java:
341362
name: "Java"
342363
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)