Skip to content

Commit dda19b6

Browse files
authored
OpenSUSE CI updates (#490)
* Also adjusted Debian Unstable / Ubuntu Devel configs * Fixed missing boost_context & boost_url * Fixed libmapnik version
1 parent ca1dee0 commit dda19b6

File tree

5 files changed

+36
-11
lines changed

5 files changed

+36
-11
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,10 @@ inputs:
4747
default: >-
4848
cmake
4949
git
50+
libboost-context-dev
5051
libboost-program-options-dev
5152
libboost-regex-dev
53+
libboost-url-dev
5254
libfreetype6-dev
5355
libgdal-dev
5456
libharfbuzz-dev
@@ -172,8 +174,10 @@ inputs:
172174
default: >-
173175
cmake
174176
git
177+
libboost-context-dev
175178
libboost-program-options-dev
176179
libboost-regex-dev
180+
libboost-url-dev
177181
libfreetype6-dev
178182
libgdal-dev
179183
libharfbuzz-dev

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ jobs:
3737
- fedora-41
3838
- fedora-42
3939
- opensuse-leap-15
40+
- opensuse-leap-16
4041
- ubuntu-22.04
4142
- ubuntu-24.04
4243
include:

docker/docker-compose.yml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ services:
154154
<<: *build_defaults_debian
155155
args:
156156
debian_version: unstable
157-
libmapnik_version: "4.1"
157+
libmapnik_version: "4.2"
158158
runner_additional_packages: >-
159159
libcurl4t64
160160
libglib2.0-0t64
@@ -164,7 +164,7 @@ services:
164164
<<: *build_defaults_debian
165165
args:
166166
debian_version: unstable
167-
libmapnik_version: "4.1"
167+
libmapnik_version: "4.2"
168168
runner_additional_packages: >-
169169
libcurl4t64
170170
libglib2.0-0t64
@@ -235,14 +235,25 @@ services:
235235
<<: *build_defaults_opensuse
236236
args:
237237
boost_version: "1_75_0"
238-
gcc_version: "13"
238+
gcc_version: 15
239239
opensuse_release: leap
240-
opensuse_version: "15"
240+
opensuse_version: 15
241+
opensuse-leap-16:
242+
<<: *service_defaults
243+
build:
244+
<<: *build_defaults_opensuse
245+
args:
246+
boost_version: "1_86_0"
247+
gcc_version: 15
248+
opensuse_release: leap
249+
opensuse_version: "16.0"
241250
opensuse-tumbleweed:
242251
<<: *service_defaults
243252
build:
244253
<<: *build_defaults_opensuse
245254
args:
255+
additional_packages: apache2-prefork libavif-devel libboost_url-devel
256+
mapnik_version: 4.1.4
246257
opensuse_release: tumbleweed
247258
opensuse_version: latest
248259
ubuntu-20.04:
@@ -288,15 +299,15 @@ services:
288299
<<: *build_defaults_ubuntu
289300
args:
290301
libiniparser_version: 4
291-
libmapnik_version: "4.1"
302+
libmapnik_version: "4.2"
292303
ubuntu_version: "devel"
293304
ubuntu-devel-autotools:
294305
<<: *service_defaults
295306
build:
296307
<<: *build_defaults_ubuntu
297308
args:
298309
libiniparser_version: 4
299-
libmapnik_version: "4.1"
310+
libmapnik_version: "4.2"
300311
ubuntu_version: "devel"
301312
dockerfile: docker/ubuntu/Dockerfile.autotools
302313
ubuntu-devel-full:

docker/opensuse/Dockerfile

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
# hadolint global ignore=DL3025,DL3036,DL3037,DL3059
22
# Arguments
3+
ARG additional_packages
34
ARG boost_version
45
ARG gcc_version
5-
ARG mapnik_version=4.0.3
6+
ARG mapnik_version=4.0.4
67
ARG opensuse_release=leap
78
ARG opensuse_version=15
89

@@ -22,6 +23,7 @@ RUN --mount=type=cache,sharing=locked,id=opensuse/${opensuse_release}:${opensuse
2223
FROM base AS mapnik-builder
2324

2425
## Arguments
26+
ARG additional_packages
2527
ARG boost_version
2628
ARG gcc_version
2729
ARG mapnik_version
@@ -30,7 +32,7 @@ ARG opensuse_version
3032

3133
## Install mapnik-builder dependencies
3234
RUN --mount=type=cache,sharing=locked,id=opensuse/${opensuse_release}:${opensuse_version}-/var/cache/zypp,target=/var/cache/zypp \
33-
zypper --non-interactive install \
35+
zypper --non-interactive install ${additional_packages} \
3436
cairo-devel \
3537
cmake \
3638
freetype-devel \
@@ -39,6 +41,7 @@ RUN --mount=type=cache,sharing=locked,id=opensuse/${opensuse_release}:${opensuse
3941
gdal-devel \
4042
git \
4143
harfbuzz-devel \
44+
libboost_context${boost_version}-devel \
4245
libboost_regex${boost_version}-devel \
4346
libicu-devel \
4447
libjpeg8-devel \
@@ -89,13 +92,14 @@ RUN --mount=type=cache,id=opensuse/${opensuse_release}:${opensuse_version}-mapni
8992
FROM base AS builder
9093

9194
## Arguments
95+
ARG additional_packages
9296
ARG boost_version
9397
ARG opensuse_release
9498
ARG opensuse_version
9599

96100
## Install builder dependencies
97101
RUN --mount=type=cache,sharing=locked,id=opensuse/${opensuse_release}:${opensuse_version}-/var/cache/zypp,target=/var/cache/zypp \
98-
zypper --non-interactive install \
102+
zypper --non-interactive install ${additional_packages} \
99103
apache2-devel \
100104
cairo-devel \
101105
cmake \
@@ -105,6 +109,7 @@ RUN --mount=type=cache,sharing=locked,id=opensuse/${opensuse_release}:${opensuse
105109
gdal \
106110
glib2-devel \
107111
harfbuzz-devel \
112+
libboost_context${boost_version}-devel \
108113
libboost_regex${boost_version}-devel \
109114
libcurl-devel \
110115
libicu-devel \
@@ -138,7 +143,9 @@ RUN CMAKE_BUILD_PARALLEL_LEVEL="$(nproc)" && export CMAKE_BUILD_PARALLEL_LEVEL &
138143
-DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc \
139144
-DENABLE_TESTS:BOOL=ON && \
140145
cmake --build .
146+
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
141147
RUN CTEST_PARALLEL_LEVEL="$(nproc)" && export CTEST_PARALLEL_LEVEL && \
148+
if [[ "${additional_packages}" == *"apache2-prefork"* ]]; then ln -s /usr/lib64/apache2-prefork/* /usr/lib64/apache2/; fi && \
142149
ctest --output-on-failure
143150
RUN export DESTDIR=/tmp/mod_tile && \
144151
cmake --install . --strip
@@ -147,18 +154,20 @@ RUN export DESTDIR=/tmp/mod_tile && \
147154
FROM base AS runner
148155

149156
## Arguments
157+
ARG additional_packages
150158
ARG boost_version
151159
ARG opensuse_release
152160
ARG opensuse_version
153161

154162
## Install runner dependencies
155163
RUN --mount=type=cache,sharing=locked,id=opensuse/${opensuse_release}:${opensuse_version}-/var/cache/zypp,target=/var/cache/zypp \
156-
zypper --non-interactive install \
164+
zypper --non-interactive install ${additional_packages} \
157165
apache2 \
158166
apache2-utils \
159167
cairo-devel \
160168
gdal \
161169
harfbuzz-devel \
170+
libboost_context${boost_version}-devel \
162171
libboost_regex${boost_version}-devel \
163172
libicu-devel \
164173
libiniparser-devel \

docs/build/building_on_opensuse.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ A Docker-based building & testing setup pipeline is also available [here](/docke
88

99
_openSUSE does not provide a `mapnik`/`mapnik-devel` package, so it will first need to be built & installed, which is beyond the scope of this document, please visit the project's [installation document on GitHub](https://github.com/mapnik/mapnik/blob/master/INSTALL.md) or our [Continuous Integration script](/.github/actions/dependencies/build-and-install/mapnik/action.yml) for more information._
1010

11-
## openSUSE Leap 15/Tumbleweed
11+
## openSUSE Leap 15/16/Tumbleweed
1212

1313
```shell
1414
#!/usr/bin/env bash

0 commit comments

Comments
 (0)