Skip to content

Commit 4eed255

Browse files
authored
CI/Docs updates (openstreetmap#470)
* Deprecate macOS 12 and add macOS 15 * Deprecate Fedora 39 and add Fedora 41 * Upgrade CodeCov actions to v4 * Fix FreeBSD 14 CI builds
1 parent 5aadf31 commit 4eed255

File tree

16 files changed

+96
-63
lines changed

16 files changed

+96
-63
lines changed

.github/actions/cmake/package/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ runs:
44
steps:
55
- name: Set `CPACK_PACKAGE_FILE_NAME`
66
run: |
7-
echo "CPACK_PACKAGE_FILE_NAME=mod_tile-${GITHUB_SHA}-$(echo ${{ matrix.image || matrix.os || matrix.box_generic || github.job }}-${{ matrix.build_system }}-${{ matrix.compiler }} | sed 's/[^0-9a-zA-Z-]/_/g')" >> ${GITHUB_ENV}
7+
echo "CPACK_PACKAGE_FILE_NAME=mod_tile-${GITHUB_SHA}-$(echo ${{ matrix.image || matrix.os || matrix.box_freebsd || github.job }}-${{ matrix.build_system }}-${{ matrix.compiler }} | sed 's/[^0-9a-zA-Z-]/_/g')" >> ${GITHUB_ENV}
88
shell: bash --noprofile --norc -euxo pipefail {0}
99

1010
- name: Set `CPACK_OPTIONS`

.github/actions/cmake/test/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ runs:
1515

1616
- name: Set `TEST_ARTIFACT_NAME`
1717
run: |
18-
echo "TEST_ARTIFACT_NAME=$(echo ${{ matrix.image || matrix.os || matrix.box_generic || github.job }}-${{ matrix.build_system }}-${{ matrix.compiler }} | sed 's/[^0-9a-zA-Z-]/_/g')" >> ${GITHUB_ENV}
18+
echo "TEST_ARTIFACT_NAME=$(echo ${{ matrix.image || matrix.os || matrix.box_freebsd || github.job }}-${{ matrix.build_system }}-${{ matrix.compiler }} | sed 's/[^0-9a-zA-Z-]/_/g')" >> ${GITHUB_ENV}
1919
shell: bash --noprofile --norc -euxo pipefail {0}
2020
if: failure()
2121

.github/actions/coverage/action.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ inputs:
44
default: ""
55
lcov-extra-options:
66
default: ""
7+
codecov-token:
8+
default: ""
79

810
runs:
911
using: composite
@@ -33,9 +35,12 @@ runs:
3335
shell: bash --noprofile --norc -euxo pipefail {0}
3436

3537
- name: Report `mod_tile` coverage results to `codecov.io`
36-
uses: codecov/[email protected]
38+
uses: codecov/codecov-action@v4
39+
env:
40+
CODECOV_TOKEN: ${{ inputs.codecov-token }}
3741
with:
38-
files: coverage.info
42+
disable_search: true
43+
file: coverage.info
3944

4045
- name: Write `mod_tile` coverage summary to `$GITHUB_STEP_SUMMARY`
4146
run: |
@@ -53,7 +58,7 @@ runs:
5358

5459
- name: Set `COVERAGE_ARTIFACT_NAME`
5560
run: |
56-
echo "COVERAGE_ARTIFACT_NAME=$(echo ${{ matrix.image || matrix.os || matrix.box_generic || github.job }}-${{ matrix.build_system }}-${{ matrix.compiler }} | sed 's/[^0-9a-zA-Z-]/_/g')" >> ${GITHUB_ENV}
61+
echo "COVERAGE_ARTIFACT_NAME=$(echo ${{ matrix.image || matrix.os || matrix.box_freebsd || github.job }}-${{ matrix.build_system }}-${{ matrix.compiler }} | sed 's/[^0-9a-zA-Z-]/_/g')" >> ${GITHUB_ENV}
5762
shell: bash --noprofile --norc -euxo pipefail {0}
5863

5964
- name: Upload `mod_tile` coverage artifacts

.github/actions/dependencies/build-and-install/mapnik/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ runs:
1515
path: |
1616
mapnik-build
1717
mapnik-src
18-
key: ${{ matrix.image || matrix.os || matrix.box_generic || github.job }}-${{ matrix.compiler }}-mapnik-${{ inputs.version }}
18+
key: ${{ matrix.image || matrix.os || matrix.box_freebsd || github.job }}-${{ matrix.compiler }}-mapnik-${{ inputs.version }}
1919

2020
- name: Checkout `Mapnik`
2121
uses: actions/checkout@v4

.github/actions/dependencies/install/action.yml

Lines changed: 44 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,39 @@
11
---
22
inputs:
3+
centos-stream-build-dependencies:
4+
default: >-
5+
cairo-devel
6+
glib2-devel
7+
httpd-devel
8+
iniparser-devel
9+
libcurl-devel
10+
libmemcached-devel
11+
librados2-devel
12+
centos-stream-test-dependencies:
13+
default: >-
14+
httpd
15+
jq
16+
lcov
17+
memcached
18+
procps
19+
centos-stream-mapnik-build-dependencies:
20+
default: >-
21+
boost-devel
22+
cmake
23+
freetype-devel
24+
gdal-devel
25+
git
26+
harfbuzz-devel
27+
libicu-devel
28+
libjpeg-devel
29+
libpng-devel
30+
libtiff-devel
31+
libwebp-devel
32+
libxml2-devel
33+
postgresql-devel
34+
proj-devel
35+
sqlite-devel
36+
zlib-devel
337
debian-build-dependencies:
438
default: >-
539
apache2-dev
@@ -30,6 +64,7 @@ inputs:
3064
debian-test-dependencies:
3165
default: >-
3266
apache2
67+
git
3368
jq
3469
lcov
3570
memcached
@@ -47,6 +82,7 @@ inputs:
4782
sqlite-devel
4883
fedora-test-dependencies:
4984
default: >-
85+
git
5086
httpd
5187
jq
5288
lcov
@@ -75,6 +111,7 @@ inputs:
75111
curl
76112
glib
77113
httpd
114+
icu4c
78115
iniparser
79116
libmemcached
80117
mapnik
@@ -103,6 +140,7 @@ inputs:
103140
jq
104141
lcov
105142
memcached
143+
procps
106144
opensuse-mapnik-build-dependencies:
107145
default: >-
108146
cmake
@@ -121,40 +159,6 @@ inputs:
121159
proj-devel
122160
sqlite3-devel
123161
zlib-devel
124-
rhel-build-dependencies:
125-
default: >-
126-
cairo-devel
127-
glib2-devel
128-
httpd-devel
129-
iniparser-devel
130-
libcurl-devel
131-
libmemcached-devel
132-
librados2-devel
133-
rhel-test-dependencies:
134-
default: >-
135-
httpd
136-
jq
137-
lcov
138-
memcached
139-
procps
140-
rhel-mapnik-build-dependencies:
141-
default: >-
142-
boost-devel
143-
cmake
144-
freetype-devel
145-
gdal-devel
146-
git
147-
harfbuzz-devel
148-
libicu-devel
149-
libjpeg-devel
150-
libpng-devel
151-
libtiff-devel
152-
libwebp-devel
153-
libxml2-devel
154-
postgresql-devel
155-
proj-devel
156-
sqlite-devel
157-
zlib-devel
158162
ubuntu-build-dependencies:
159163
default: >-
160164
apache2-dev
@@ -185,13 +189,14 @@ inputs:
185189
ubuntu-test-dependencies:
186190
default: >-
187191
apache2
192+
git
188193
jq
189194
lcov
190195
memcached
191196
mapnik-build-version-centos-stream:
192-
default: 4.0.0
197+
default: 4.0.3
193198
mapnik-build-version-opensuse:
194-
default: 4.0.0
199+
default: 4.0.3
195200

196201
runs:
197202
using: composite
@@ -201,9 +206,9 @@ runs:
201206
with:
202207
dependencies: epel-release
203208
packages: >-
204-
${{ inputs.rhel-build-dependencies }}
205-
${{ inputs.rhel-mapnik-build-dependencies }}
206-
${{ inputs.rhel-test-dependencies }}
209+
${{ inputs.centos-stream-build-dependencies }}
210+
${{ inputs.centos-stream-mapnik-build-dependencies }}
211+
${{ inputs.centos-stream-test-dependencies }}
207212
${{ matrix.build_system == 'CMake' && 'cmake' || 'autoconf automake redhat-rpm-config' }}
208213
${{ matrix.compiler == 'LLVM' && 'clang' || 'gcc gcc-c++' }}
209214
rpm-build

.github/workflows/build-and-test.yml

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ jobs:
2222
image:
2323
- "debian:11"
2424
- "debian:12"
25-
- "fedora:39"
2625
- "fedora:40"
26+
- "fedora:41"
2727
- "opensuse/leap:15"
2828
- "quay.io/centos/centos:stream9"
2929
- "ubuntu:22.04"
@@ -83,6 +83,8 @@ jobs:
8383

8484
- name: Process & Report `mod_tile` coverage results
8585
uses: ./.github/actions/coverage
86+
with:
87+
codecov-token: ${{ secrets.CODECOV_TOKEN }}
8688
if: |
8789
matrix.compiler != 'LLVM' &&
8890
!startsWith(matrix.image, 'opensuse/') &&
@@ -137,6 +139,8 @@ jobs:
137139

138140
- name: Process & Report `mod_tile` coverage results
139141
uses: ./.github/actions/coverage
142+
with:
143+
codecov-token: ${{ secrets.CODECOV_TOKEN }}
140144

141145
- name: Package `mod_tile`
142146
uses: ./.github/actions/cmake/package
@@ -161,16 +165,16 @@ jobs:
161165
fail-fast: false
162166
matrix:
163167
os:
164-
- macos-12
165168
- macos-13
169+
- macos-14
166170
build_system:
167171
- CMake
168172
compiler:
169173
- LLVM
170174
on_default_branch:
171175
- ${{ contains(github.ref, 'master') || contains(github.ref, 'develop') || contains(github.ref, 'CI') }}
172176
include:
173-
- os: macos-14
177+
- os: macos-15
174178
build_system: CMake
175179
compiler: LLVM
176180
exclude:
@@ -197,6 +201,7 @@ jobs:
197201
- name: Process & Report `mod_tile` coverage results
198202
uses: ./.github/actions/coverage
199203
with:
204+
codecov-token: ${{ secrets.CODECOV_TOKEN }}
200205
genhtml-extra-options: --keep-going --ignore-errors count,inconsistent,range
201206
lcov-extra-options: --keep-going --ignore-errors count,inconsistent,range
202207
if: matrix.os != 'macos-12'
@@ -218,22 +223,22 @@ jobs:
218223
LIBRARY_PATH: /usr/local/lib
219224
TMPDIR: /tmp
220225
name: >-
221-
${{ matrix.box_generic }}
226+
${{ matrix.box_freebsd }}
222227
(${{ matrix.build_system }})
223228
(${{ matrix.compiler }})
224229
runs-on: ubuntu-latest
225230
strategy:
226231
matrix:
227-
box_generic:
228-
- freebsd13
232+
box_freebsd:
233+
- FreeBSD-13.4-STABLE
229234
build_system:
230235
- CMake
231236
compiler:
232237
- LLVM
233238
on_default_branch:
234239
- ${{ contains(github.ref, 'master') || contains(github.ref, 'develop') || contains(github.ref, 'CI') }}
235240
include:
236-
- box_generic: freebsd14
241+
- box_freebsd: FreeBSD-14.1-STABLE
237242
build_system: CMake
238243
compiler: LLVM
239244
exclude:
@@ -249,9 +254,9 @@ jobs:
249254
echo "TEST_PARALLEL_LEVEL=$(nproc)" >> ${GITHUB_ENV}
250255
251256
- name: Provision VM
252-
uses: hummeltech/freebsd-vagrant-action@v2
257+
uses: hummeltech/freebsd-vagrant-action@v3
253258
with:
254-
box: generic/${{ matrix.box_generic }}
259+
box: freebsd/${{ matrix.box_freebsd }}
255260
cpus: ${{ env.BUILD_PARALLEL_LEVEL }}
256261
memory: 4096
257262

@@ -273,6 +278,8 @@ jobs:
273278

274279
- name: Process & Report `mod_tile` coverage results
275280
uses: ./.github/actions/coverage
281+
with:
282+
codecov-token: ${{ secrets.CODECOV_TOKEN }}
276283

277284
- name: Package `mod_tile`
278285
uses: ./.github/actions/cmake/package

.github/workflows/docker-image-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ jobs:
3535
- centos-stream-9
3636
- debian-11
3737
- debian-12
38-
- fedora-39
3938
- fedora-40
39+
- fedora-41
4040
- opensuse-leap-15
4141
- ubuntu-22.04
4242
- ubuntu-24.04

docker/centos/stream/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Arguments
33
ARG centos_stream_version=9
44
ARG extra_repository=crb
5-
ARG mapnik_version=4.0.0
5+
ARG mapnik_version=4.0.3
66

77
# Mapnik Builder
88
FROM quay.io/centos/centos:stream${centos_stream_version} AS mapnik-builder

docker/centos/stream/Dockerfile.autotools

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Arguments
33
ARG centos_stream_version=9
44
ARG extra_repository=crb
5-
ARG mapnik_version=4.0.0
5+
ARG mapnik_version=4.0.3
66

77
# Mapnik Builder
88
FROM quay.io/centos/centos:stream${centos_stream_version} AS mapnik-builder

docker/debian/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# hadolint global ignore=DL3008,DL3025,DL3059
22
# Arguments
33
ARG debian_version=12
4+
ARG libiniparser_version=1
45
ARG libmapnik_version=3.1
56
ARG runner_additional_packages=libcurl4 libglib2.0
67

@@ -54,6 +55,7 @@ FROM debian:${debian_version} AS runner
5455

5556
## Arguments
5657
ARG debian_version
58+
ARG libiniparser_version
5759
ARG libmapnik_version
5860
ARG runner_additional_packages
5961

@@ -66,7 +68,7 @@ RUN --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/cache/apt
6668
apt-get --no-install-recommends --yes install ${runner_additional_packages} \
6769
apache2 \
6870
libcairo2 \
69-
libiniparser1 \
71+
libiniparser${libiniparser_version} \
7072
libmapnik${libmapnik_version} \
7173
libmemcached11 \
7274
libmemcachedutil2 \

0 commit comments

Comments
 (0)