diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 7d00f8bb..0e544e69 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -167,8 +167,6 @@ jobs: workspaces: | lantern_cli lantern_extras - - name: Install cargo-llvm-cov - uses: taiki-e/install-action@cargo-llvm-cov - name: Setup test env run: sudo su -c "PG_VERSION=$PG_VERSION SETUP_ENV=1 SETUP_POSTGRES=1 SETUP_TESTS=1 USE_SOURCE=1 ./ci/scripts/build-extras.sh" env: @@ -177,7 +175,9 @@ jobs: run: | cargo install cargo-pgrx --version 0.12.7 cargo pgrx init "--pg$PG_VERSION" /usr/bin/pg_config - RUSTFLAGS="--cfg profile=\"ci-build\"" cargo pgrx install --sudo --pg-config /usr/bin/pg_config --package lantern_extras + export RUSTFLAGS='--cfg profile="ci-build" -C instrument-coverage' + export LLVM_PROFILE_FILE="$(pwd)/coverage-%p-%m.profraw" + cargo pgrx install --sudo --pg-config /usr/bin/pg_config --package lantern_extras env: PG_VERSION: ${{ matrix.postgres }} - name: Run postgres @@ -189,11 +189,20 @@ jobs: sudo chmod 777 -R /usr/lib/postgresql/15/lib/ sudo chmod 777 -R /usr/share/postgresql/15/extension/ - name: Run tests - run: cargo llvm-cov --workspace --lcov --output-path lantern-extras-lcov.info + run: | + export RUSTFLAGS='--cfg profile="ci-build" -C instrument-coverage' + export LLVM_PROFILE_FILE="$(pwd)/coverage-%p-%m.profraw" + cargo test env: OPENAI_TOKEN: ${{ secrets.OPENAI_TOKEN }} COHERE_TOKEN: ${{ secrets.COHERE_TOKEN }} DB_URL: "postgres://postgres@127.0.0.1:5432/postgres" + - name: Collect coverage + if: ${{ startsWith(matrix.os, 'ubuntu') }} + run: | + cargo install grcov + rustup component add llvm-tools-preview + grcov *.profraw -s . --binary-path target/debug -t lcov --branch -o lantern-extras-lcov.info --ignore "{target/debug/build/*,lantern_cli/tests/*,lantern_cli/src/main.rs}" - name: Upload lantern_extras coverage uses: actions/upload-artifact@v4 if: ${{ startsWith(matrix.os, 'ubuntu') }}