|
37 | 37 | with: |
38 | 38 | command: check |
39 | 39 | args: --workspace --all-targets --all --no-default-features |
| 40 | + - name: Install cargo-llvm-cov |
| 41 | + uses: taiki-e/install-action@cargo-llvm-cov |
| 42 | + - name: Generate code coverage |
| 43 | + run: cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info |
| 44 | + - name: Upload coverage to Codecov |
| 45 | + uses: codecov/codecov-action@v3 |
| 46 | + with: |
| 47 | + token: ${{ secrets.CODECOV_TOKEN }} |
| 48 | + files: lcov.info |
| 49 | + fail_ci_if_error: true |
40 | 50 |
|
41 | 51 | linter: |
42 | 52 | name: clippy-check |
|
83 | 93 | uses: ibiqlik/action-yamllint@v3 |
84 | 94 | with: |
85 | 95 | config_file: .yamllint.yml |
86 | | - |
87 | | - coverage: |
88 | | - # Will not run if the actor is Dependabot (dependabot PRs) |
89 | | - # Will not run if the event is a PR to bump-meilisearch-v* (so a pre-release PR) |
90 | | - if: github.actor != 'dependabot[bot]' && !( github.event_name == 'pull_request' && startsWith(github.base_ref, 'bump-meilisearch-v') ) |
91 | | - runs-on: ubuntu-latest |
92 | | - needs: integration_tests |
93 | | - name: Code Coverage |
94 | | - steps: |
95 | | - - uses: actions/checkout@v4 |
96 | | - # Nightly Rust is used for cargo llvm-cov --doc below. |
97 | | - - uses: dtolnay/rust-toolchain@nightly |
98 | | - with: |
99 | | - components: llvm-tools-preview |
100 | | - - name: Install cargo-llvm-cov |
101 | | - uses: taiki-e/install-action@v2 |
102 | | - with: |
103 | | - tool: cargo-llvm-cov |
104 | | - - name: Meilisearch (latest version) setup with Docker |
105 | | - run: docker run -d -p 7700:7700 getmeili/meilisearch:latest meilisearch --no-analytics --master-key=masterKey |
106 | | - - name: Collect coverage data |
107 | | - # Generate separate reports for tests and doctests, and combine them. |
108 | | - run: | |
109 | | - set -euo pipefail |
110 | | - cargo llvm-cov --no-report --all-features --workspace --exclude 'meilisearch-test-macro' |
111 | | - cargo llvm-cov --no-report --doc --all-features --workspace --exclude 'meilisearch-test-macro' |
112 | | - cargo llvm-cov report --doctests --codecov --output-path codecov.json |
113 | | - - name: Upload coverage reports to Codecov |
114 | | - uses: codecov/codecov-action@v5 |
115 | | - with: |
116 | | - token: ${{ secrets.CODECOV_TOKEN }} |
117 | | - files: codecov.json |
118 | | - fail_ci_if_error: true |
0 commit comments