Skip to content

Commit d571b58

Browse files
authored
Add Fedora 42 to CI (openstreetmap#485)
* And remove `Fedora 40` * Also clean up `Dockerfile`s
1 parent 4fafe1d commit d571b58

File tree

15 files changed

+163
-109
lines changed

15 files changed

+163
-109
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ jobs:
2222
image:
2323
- "debian:11"
2424
- "debian:12"
25-
- "fedora:40"
2625
- "fedora:41"
26+
- "fedora:42"
2727
- "opensuse/leap:15"
2828
- "quay.io/centos/centos:stream9"
2929
- "ubuntu:22.04"

.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-40
3938
- fedora-41
39+
- fedora-42
4040
- opensuse-leap-15
4141
- ubuntu-22.04
4242
- ubuntu-24.04

docker/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ For your convenience, we have provided a Docker-based building and testing metho
1717
- fedora-38 _(Fedora 38)_ [[Dockerfile](/docker/fedora/Dockerfile)]
1818
- fedora-39 _(Fedora 39)_ [[Dockerfile](/docker/fedora/Dockerfile)]
1919
- fedora-40 _(Fedora 40)_ [[Dockerfile](/docker/fedora/Dockerfile)]
20+
- fedora-41 _(Fedora 41)_ [[Dockerfile](/docker/fedora/Dockerfile)]
21+
- fedora-42 _(Fedora 42)_ [[Dockerfile](/docker/fedora/Dockerfile)]
2022
- fedora-rawhide _(Fedora Rawhide)_ [[Dockerfile](/docker/fedora/Dockerfile)]
2123
- opensuse-leap-15 _(openSUSE Leap 15)_ [[Dockerfile](/docker/opensuse/Dockerfile)]
2224
- opensuse-tumbleweed _(openSUSE Tumbleweed)_ [[Dockerfile](/docker/opensuse/Dockerfile)]

docker/archlinux/Dockerfile

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,27 @@
33
ARG archlinux_version=latest
44
ARG runner_additional_packages
55

6+
# Base
7+
FROM archlinux:${archlinux_version} AS base
8+
9+
## Arguments
10+
ARG archlinux_version
11+
12+
## Install base dependencies
13+
RUN --mount=type=cache,sharing=locked,id=archlinux:${archlinux_version}-/var/cache/pacman/pkg,target=/var/cache/pacman/pkg \
14+
--mount=type=cache,sharing=locked,id=archlinux:${archlinux_version}-/var/lib/pacman/sync,target=/var/lib/pacman/sync \
15+
pacman --sync --refresh --sysupgrade --noconfirm
16+
617
# Builder
7-
FROM archlinux:${archlinux_version} AS builder
18+
FROM base AS builder
819

920
## Arguments
1021
ARG archlinux_version
1122

1223
## Install builder dependencies
1324
RUN --mount=type=cache,sharing=locked,id=archlinux:${archlinux_version}-/var/cache/pacman/pkg,target=/var/cache/pacman/pkg \
1425
--mount=type=cache,sharing=locked,id=archlinux:${archlinux_version}-/var/lib/pacman/sync,target=/var/lib/pacman/sync \
15-
pacman --sync --refresh --sysupgrade --noconfirm \
26+
pacman --sync --refresh --noconfirm \
1627
apache \
1728
apr \
1829
boost \
@@ -50,7 +61,7 @@ RUN export DESTDIR=/tmp/mod_tile && \
5061
cmake --install . --strip
5162

5263
# Runner
53-
FROM archlinux:${archlinux_version} AS runner
64+
FROM base AS runner
5465

5566
## Arguments
5667
ARG archlinux_version
@@ -59,7 +70,7 @@ ARG runner_additional_packages
5970
## Install runner dependencies
6071
RUN --mount=type=cache,sharing=locked,id=archlinux:${archlinux_version}-/var/cache/pacman/pkg,target=/var/cache/pacman/pkg \
6172
--mount=type=cache,sharing=locked,id=archlinux:${archlinux_version}-/var/lib/pacman/sync,target=/var/lib/pacman/sync \
62-
pacman --sync --refresh --sysupgrade --noconfirm ${runner_additional_packages} \
73+
pacman --sync --refresh --noconfirm ${runner_additional_packages} \
6374
apache \
6475
cairo \
6576
curl \

docker/centos/stream/Dockerfile

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,31 @@ ARG centos_stream_version=9
44
ARG extra_repository=crb
55
ARG mapnik_version=4.0.3
66

7-
# Mapnik Builder
8-
FROM quay.io/centos/centos:stream${centos_stream_version} AS mapnik-builder
7+
# Base
8+
FROM quay.io/centos/centos:stream${centos_stream_version} AS base
99

1010
## Arguments
1111
ARG centos_stream_version
1212
ARG extra_repository
13-
ARG mapnik_version
1413

15-
## Install mapnik-builder dependencies
14+
## Install base dependencies
1615
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
1716
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
1817
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
1918
dnf --assumeyes install "dnf-command(config-manager)" && \
2019
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
2120
dnf --assumeyes install epel-release && \
22-
dnf --assumeyes upgrade && \
21+
dnf --assumeyes upgrade
22+
23+
# Mapnik Builder
24+
FROM base AS mapnik-builder
25+
26+
## Arguments
27+
ARG centos_stream_version
28+
ARG mapnik_version
29+
30+
## Install mapnik-builder dependencies
31+
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
2332
dnf --assumeyes install \
2433
boost-devel \
2534
cairo-devel \
@@ -71,20 +80,13 @@ RUN --mount=type=cache,id=centos:stream${centos_stream_version}-mapnik-src:${map
7180
cmake --install . --strip
7281

7382
# Builder
74-
FROM quay.io/centos/centos:stream${centos_stream_version} AS builder
83+
FROM base AS builder
7584

7685
## Arguments
7786
ARG centos_stream_version
78-
ARG extra_repository
7987

8088
## Install builder dependencies
8189
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
82-
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
83-
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
84-
dnf --assumeyes install "dnf-command(config-manager)" && \
85-
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
86-
dnf --assumeyes install epel-release && \
87-
dnf --assumeyes upgrade && \
8890
dnf --assumeyes install \
8991
boost-devel \
9092
cairo-devel \
@@ -133,20 +135,13 @@ RUN export DESTDIR=/tmp/mod_tile && \
133135
cmake --install . --strip
134136

135137
# Runner
136-
FROM quay.io/centos/centos:stream${centos_stream_version} AS runner
138+
FROM base AS runner
137139

138140
## Arguments
139141
ARG centos_stream_version
140-
ARG extra_repository
141142

142143
## Install runner dependencies
143144
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
144-
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
145-
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
146-
dnf --assumeyes install "dnf-command(config-manager)" && \
147-
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
148-
dnf --assumeyes install epel-release && \
149-
dnf --assumeyes upgrade && \
150145
dnf --assumeyes install \
151146
boost-regex \
152147
cairo \

docker/centos/stream/Dockerfile.autotools

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,31 @@ ARG centos_stream_version=9
44
ARG extra_repository=crb
55
ARG mapnik_version=4.0.3
66

7-
# Mapnik Builder
8-
FROM quay.io/centos/centos:stream${centos_stream_version} AS mapnik-builder
7+
# Base
8+
FROM quay.io/centos/centos:stream${centos_stream_version} AS base
99

1010
## Arguments
1111
ARG centos_stream_version
1212
ARG extra_repository
13-
ARG mapnik_version
1413

15-
## Install mapnik-builder dependencies
14+
## Install base dependencies
1615
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
1716
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
1817
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
1918
dnf --assumeyes install "dnf-command(config-manager)" && \
2019
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
2120
dnf --assumeyes install epel-release && \
22-
dnf --assumeyes upgrade && \
21+
dnf --assumeyes upgrade
22+
23+
# Mapnik Builder
24+
FROM base AS mapnik-builder
25+
26+
## Arguments
27+
ARG centos_stream_version
28+
ARG mapnik_version
29+
30+
## Install mapnik-builder dependencies
31+
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
2332
dnf --assumeyes install \
2433
boost-devel \
2534
cairo-devel \
@@ -71,20 +80,13 @@ RUN --mount=type=cache,id=centos:stream${centos_stream_version}-mapnik-src:${map
7180
cmake --install . --strip
7281

7382
# Builder
74-
FROM quay.io/centos/centos:stream${centos_stream_version} AS builder
83+
FROM base AS builder
7584

7685
## Arguments
7786
ARG centos_stream_version
78-
ARG extra_repository
7987

8088
## Install builder dependencies
8189
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
82-
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
83-
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
84-
dnf --assumeyes install "dnf-command(config-manager)" && \
85-
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
86-
dnf --assumeyes install epel-release && \
87-
dnf --assumeyes upgrade && \
8890
dnf --assumeyes install \
8991
automake \
9092
boost-devel \
@@ -122,20 +124,13 @@ RUN export DESTDIR=/tmp/mod_tile && \
122124
RUN make test
123125

124126
# Runner
125-
FROM quay.io/centos/centos:stream${centos_stream_version} AS runner
127+
FROM base AS runner
126128

127129
## Arguments
128130
ARG centos_stream_version
129-
ARG extra_repository
130131

131132
## Install runner dependencies
132133
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
133-
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
134-
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
135-
dnf --assumeyes install "dnf-command(config-manager)" && \
136-
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
137-
dnf --assumeyes install epel-release && \
138-
dnf --assumeyes upgrade && \
139134
dnf --assumeyes install \
140135
boost-regex \
141136
cairo \

docker/centos/stream/Dockerfile.mapnik-latest

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,30 @@
33
ARG centos_stream_version=9
44
ARG extra_repository=crb
55

6-
# Mapnik Builder
7-
FROM quay.io/centos/centos:stream${centos_stream_version} AS mapnik-builder
6+
# Base
7+
FROM quay.io/centos/centos:stream${centos_stream_version} AS base
88

99
## Arguments
1010
ARG centos_stream_version
1111
ARG extra_repository
1212

13-
## Install mapnik-builder dependencies
13+
## Install base dependencies
1414
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
1515
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
1616
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
1717
dnf --assumeyes install "dnf-command(config-manager)" && \
1818
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
1919
dnf --assumeyes install epel-release && \
20-
dnf --assumeyes upgrade && \
20+
dnf --assumeyes upgrade
21+
22+
# Mapnik Builder
23+
FROM base AS mapnik-builder
24+
25+
## Arguments
26+
ARG centos_stream_version
27+
28+
## Install mapnik-builder dependencies
29+
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
2130
dnf --assumeyes install \
2231
boost-devel \
2332
cairo-devel \
@@ -69,20 +78,13 @@ RUN --mount=type=cache,id=centos:stream${centos_stream_version}-mapnik-src:lates
6978
cmake --install . --strip
7079

7180
# Builder
72-
FROM quay.io/centos/centos:stream${centos_stream_version} AS builder
81+
FROM base AS builder
7382

7483
## Arguments
7584
ARG centos_stream_version
76-
ARG extra_repository
7785

7886
## Install builder dependencies
7987
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
80-
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
81-
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
82-
dnf --assumeyes install "dnf-command(config-manager)" && \
83-
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
84-
dnf --assumeyes install epel-release && \
85-
dnf --assumeyes upgrade && \
8688
dnf --assumeyes install \
8789
boost-devel \
8890
cairo-devel \
@@ -131,20 +133,13 @@ RUN export DESTDIR=/tmp/mod_tile && \
131133
cmake --install . --strip
132134

133135
# Runner
134-
FROM quay.io/centos/centos:stream${centos_stream_version} AS runner
136+
FROM base AS runner
135137

136138
## Arguments
137139
ARG centos_stream_version
138-
ARG extra_repository
139140

140141
## Install runner dependencies
141142
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
142-
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
143-
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
144-
dnf --assumeyes install "dnf-command(config-manager)" && \
145-
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
146-
dnf --assumeyes install epel-release && \
147-
dnf --assumeyes upgrade && \
148143
dnf --assumeyes install \
149144
boost-regex \
150145
cairo \

docker/debian/Dockerfile

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,21 @@ ARG libiniparser_version=1
55
ARG libmapnik_version=3.1
66
ARG runner_additional_packages=libcurl4 libglib2.0
77

8+
# Base
9+
FROM debian:${debian_version} AS base
10+
11+
## Arguments
12+
ARG debian_version
13+
14+
## Install base dependencies
15+
RUN --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/cache/apt,target=/var/cache/apt \
16+
--mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/lib/apt,target=/var/lib/apt \
17+
export DEBIAN_FRONTEND=noninteractive && \
18+
apt-get --yes update && \
19+
apt-get --yes upgrade
20+
821
# Builder
9-
FROM debian:${debian_version} AS builder
22+
FROM base AS builder
1023

1124
## Arguments
1225
ARG debian_version
@@ -15,8 +28,6 @@ ARG debian_version
1528
RUN --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/cache/apt,target=/var/cache/apt \
1629
--mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/lib/apt,target=/var/lib/apt \
1730
export DEBIAN_FRONTEND=noninteractive && \
18-
apt-get --yes update && \
19-
apt-get --yes upgrade && \
2031
apt-get --no-install-recommends --yes install \
2132
apache2 \
2233
apache2-dev \
@@ -51,7 +62,7 @@ RUN export DESTDIR=/tmp/mod_tile && \
5162
cmake --install . --strip
5263

5364
# Runner
54-
FROM debian:${debian_version} AS runner
65+
FROM base AS runner
5566

5667
## Arguments
5768
ARG debian_version
@@ -63,8 +74,6 @@ ARG runner_additional_packages
6374
RUN --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/cache/apt,target=/var/cache/apt \
6475
--mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/lib/apt,target=/var/lib/apt \
6576
export DEBIAN_FRONTEND=noninteractive && \
66-
apt-get --yes update && \
67-
apt-get --yes upgrade && \
6877
apt-get --no-install-recommends --yes install ${runner_additional_packages} \
6978
apache2 \
7079
libcairo2 \

0 commit comments

Comments
 (0)