|
11 | 11 |
|
12 | 12 | jobs: |
13 | 13 | Coverage: |
14 | | - name: Build, Test & Report Coverage |
| 14 | + name: >- |
| 15 | + Build, Test & Report Coverage |
| 16 | + ${{ matrix.mapnik_latest && '(Latest Mapnik)' || '' }} |
15 | 17 | runs-on: ubuntu-latest |
16 | 18 | env: |
17 | 19 | BUILD_TYPE: Debug |
18 | 20 | CFLAGS: --coverage |
19 | 21 | CXXFLAGS: --coverage |
| 22 | + strategy: |
| 23 | + matrix: |
| 24 | + compiler: |
| 25 | + - GNU |
| 26 | + mapnik_latest: |
| 27 | + - false |
| 28 | + - true |
| 29 | + fail-fast: false |
20 | 30 | steps: |
21 | 31 | - name: Checkout code |
22 | 32 | uses: actions/checkout@v4 |
23 | 33 |
|
24 | 34 | - name: Install dependencies |
25 | 35 | uses: ./.github/actions/dependencies/install |
26 | 36 | with: |
27 | | - ubuntu-test-dependencies: >- |
28 | | - apache2 |
29 | | - jq |
30 | | - lcov |
31 | | - memcached |
| 37 | + ubuntu-mapnik-latest-build-dependencies: >- |
| 38 | + cmake |
| 39 | + git |
| 40 | + libboost-filesystem-dev |
| 41 | + libboost-program-options-dev |
| 42 | + libboost-regex-dev |
| 43 | + libfreetype6-dev |
| 44 | + libgdal-dev |
| 45 | + libharfbuzz-dev |
| 46 | + libicu-dev |
| 47 | + libjpeg-dev |
| 48 | + libpq-dev |
| 49 | + libproj-dev |
| 50 | + libsqlite3-dev |
| 51 | + libtiff-dev |
| 52 | + libwebp-dev |
| 53 | + libxml2-dev |
32 | 54 |
|
33 | 55 | - name: Build `mod_tile` |
34 | 56 | uses: ./.github/actions/cmake/build |
35 | 57 |
|
36 | 58 | - name: Test `mod_tile` |
37 | 59 | uses: ./.github/actions/cmake/test |
38 | 60 |
|
39 | | - - name: Process `mod_tile` coverage results |
40 | | - run: | |
41 | | - lcov \ |
42 | | - --capture \ |
43 | | - --directory . \ |
44 | | - --output-file coverage.info |
45 | | - lcov \ |
46 | | - --output-file coverage.info \ |
47 | | - --remove coverage.info \ |
48 | | - "${GITHUB_WORKSPACE}/includes/catch/catch.hpp" \ |
49 | | - "${GITHUB_WORKSPACE}/src/gen_tile_test.cpp" \ |
50 | | - "/usr/*" |
51 | | - genhtml coverage.info --output-directory coverage |
52 | | - working-directory: build |
| 61 | + - name: Process & Report `mod_tile` coverage results |
| 62 | + uses: ./.github/actions/coverage |
53 | 63 |
|
54 | 64 | - name: Write coverage summary to `$GITHUB_STEP_SUMMARY` |
55 | 65 | run: lcov --summary build/coverage.info | sed 's/^ /* /g' >> ${GITHUB_STEP_SUMMARY} |
56 | 66 |
|
| 67 | + - name: Generate `mod_tile` coverage results artifact |
| 68 | + run: | |
| 69 | + mkdir -p coverage |
| 70 | + genhtml coverage.info --output-directory coverage/${{ matrix.mapnik_latest && 'mapnik_latest' || 'mapnik' }} |
| 71 | + working-directory: build |
| 72 | + |
57 | 73 | - name: Upload `mod_tile` coverage results artifact |
58 | 74 | uses: actions/upload-artifact@v3 |
59 | 75 | with: |
60 | 76 | name: Coverage Results |
61 | 77 | path: build/coverage |
62 | | - |
63 | | - - name: Report `mod_tile` coverage results to `codecov.io` |
64 | | - uses: codecov/codecov-action@v3 |
65 | | - with: |
66 | | - files: build/coverage.info |
|
0 commit comments