Add Fedora 42 to CI (#485)

* And remove `Fedora 40`
* Also clean up `Dockerfile`s
This commit is contained in:
Hummeltech
2025-04-15 08:51:17 -07:00
committed by GitHub
parent 4fafe1d755
commit d571b58707
15 changed files with 163 additions and 109 deletions

View File

@ -22,8 +22,8 @@ jobs:
image: image:
- "debian:11" - "debian:11"
- "debian:12" - "debian:12"
- "fedora:40"
- "fedora:41" - "fedora:41"
- "fedora:42"
- "opensuse/leap:15" - "opensuse/leap:15"
- "quay.io/centos/centos:stream9" - "quay.io/centos/centos:stream9"
- "ubuntu:22.04" - "ubuntu:22.04"

View File

@ -35,8 +35,8 @@ jobs:
- centos-stream-9 - centos-stream-9
- debian-11 - debian-11
- debian-12 - debian-12
- fedora-40
- fedora-41 - fedora-41
- fedora-42
- opensuse-leap-15 - opensuse-leap-15
- ubuntu-22.04 - ubuntu-22.04
- ubuntu-24.04 - ubuntu-24.04

View File

@ -17,6 +17,8 @@ For your convenience, we have provided a Docker-based building and testing metho
- fedora-38 _(Fedora 38)_ [[Dockerfile](/docker/fedora/Dockerfile)] - fedora-38 _(Fedora 38)_ [[Dockerfile](/docker/fedora/Dockerfile)]
- fedora-39 _(Fedora 39)_ [[Dockerfile](/docker/fedora/Dockerfile)] - fedora-39 _(Fedora 39)_ [[Dockerfile](/docker/fedora/Dockerfile)]
- fedora-40 _(Fedora 40)_ [[Dockerfile](/docker/fedora/Dockerfile)] - fedora-40 _(Fedora 40)_ [[Dockerfile](/docker/fedora/Dockerfile)]
- fedora-41 _(Fedora 41)_ [[Dockerfile](/docker/fedora/Dockerfile)]
- fedora-42 _(Fedora 42)_ [[Dockerfile](/docker/fedora/Dockerfile)]
- fedora-rawhide _(Fedora Rawhide)_ [[Dockerfile](/docker/fedora/Dockerfile)] - fedora-rawhide _(Fedora Rawhide)_ [[Dockerfile](/docker/fedora/Dockerfile)]
- opensuse-leap-15 _(openSUSE Leap 15)_ [[Dockerfile](/docker/opensuse/Dockerfile)] - opensuse-leap-15 _(openSUSE Leap 15)_ [[Dockerfile](/docker/opensuse/Dockerfile)]
- opensuse-tumbleweed _(openSUSE Tumbleweed)_ [[Dockerfile](/docker/opensuse/Dockerfile)] - opensuse-tumbleweed _(openSUSE Tumbleweed)_ [[Dockerfile](/docker/opensuse/Dockerfile)]

View File

@ -3,8 +3,19 @@
ARG archlinux_version=latest ARG archlinux_version=latest
ARG runner_additional_packages ARG runner_additional_packages
# Base
FROM archlinux:${archlinux_version} AS base
## Arguments
ARG archlinux_version
## Install base dependencies
RUN --mount=type=cache,sharing=locked,id=archlinux:${archlinux_version}-/var/cache/pacman/pkg,target=/var/cache/pacman/pkg \
--mount=type=cache,sharing=locked,id=archlinux:${archlinux_version}-/var/lib/pacman/sync,target=/var/lib/pacman/sync \
pacman --sync --refresh --sysupgrade --noconfirm
# Builder # Builder
FROM archlinux:${archlinux_version} AS builder FROM base AS builder
## Arguments ## Arguments
ARG archlinux_version ARG archlinux_version
@ -12,7 +23,7 @@ ARG archlinux_version
## Install builder dependencies ## Install builder dependencies
RUN --mount=type=cache,sharing=locked,id=archlinux:${archlinux_version}-/var/cache/pacman/pkg,target=/var/cache/pacman/pkg \ RUN --mount=type=cache,sharing=locked,id=archlinux:${archlinux_version}-/var/cache/pacman/pkg,target=/var/cache/pacman/pkg \
--mount=type=cache,sharing=locked,id=archlinux:${archlinux_version}-/var/lib/pacman/sync,target=/var/lib/pacman/sync \ --mount=type=cache,sharing=locked,id=archlinux:${archlinux_version}-/var/lib/pacman/sync,target=/var/lib/pacman/sync \
pacman --sync --refresh --sysupgrade --noconfirm \ pacman --sync --refresh --noconfirm \
apache \ apache \
apr \ apr \
boost \ boost \
@ -50,7 +61,7 @@ RUN export DESTDIR=/tmp/mod_tile && \
cmake --install . --strip cmake --install . --strip
# Runner # Runner
FROM archlinux:${archlinux_version} AS runner FROM base AS runner
## Arguments ## Arguments
ARG archlinux_version ARG archlinux_version
@ -59,7 +70,7 @@ ARG runner_additional_packages
## Install runner dependencies ## Install runner dependencies
RUN --mount=type=cache,sharing=locked,id=archlinux:${archlinux_version}-/var/cache/pacman/pkg,target=/var/cache/pacman/pkg \ RUN --mount=type=cache,sharing=locked,id=archlinux:${archlinux_version}-/var/cache/pacman/pkg,target=/var/cache/pacman/pkg \
--mount=type=cache,sharing=locked,id=archlinux:${archlinux_version}-/var/lib/pacman/sync,target=/var/lib/pacman/sync \ --mount=type=cache,sharing=locked,id=archlinux:${archlinux_version}-/var/lib/pacman/sync,target=/var/lib/pacman/sync \
pacman --sync --refresh --sysupgrade --noconfirm ${runner_additional_packages} \ pacman --sync --refresh --noconfirm ${runner_additional_packages} \
apache \ apache \
cairo \ cairo \
curl \ curl \

View File

@ -4,22 +4,31 @@ ARG centos_stream_version=9
ARG extra_repository=crb ARG extra_repository=crb
ARG mapnik_version=4.0.3 ARG mapnik_version=4.0.3
# Mapnik Builder # Base
FROM quay.io/centos/centos:stream${centos_stream_version} AS mapnik-builder FROM quay.io/centos/centos:stream${centos_stream_version} AS base
## Arguments ## Arguments
ARG centos_stream_version ARG centos_stream_version
ARG extra_repository ARG extra_repository
ARG mapnik_version
## Install mapnik-builder dependencies ## Install base dependencies
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \ RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \ echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \ echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \ dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \ dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \ dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \ dnf --assumeyes upgrade
# Mapnik Builder
FROM base AS mapnik-builder
## Arguments
ARG centos_stream_version
ARG mapnik_version
## Install mapnik-builder dependencies
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
dnf --assumeyes install \ dnf --assumeyes install \
boost-devel \ boost-devel \
cairo-devel \ cairo-devel \
@ -71,20 +80,13 @@ RUN --mount=type=cache,id=centos:stream${centos_stream_version}-mapnik-src:${map
cmake --install . --strip cmake --install . --strip
# Builder # Builder
FROM quay.io/centos/centos:stream${centos_stream_version} AS builder FROM base AS builder
## Arguments ## Arguments
ARG centos_stream_version ARG centos_stream_version
ARG extra_repository
## Install builder dependencies ## Install builder dependencies
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \ RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \
dnf --assumeyes install \ dnf --assumeyes install \
boost-devel \ boost-devel \
cairo-devel \ cairo-devel \
@ -133,20 +135,13 @@ RUN export DESTDIR=/tmp/mod_tile && \
cmake --install . --strip cmake --install . --strip
# Runner # Runner
FROM quay.io/centos/centos:stream${centos_stream_version} AS runner FROM base AS runner
## Arguments ## Arguments
ARG centos_stream_version ARG centos_stream_version
ARG extra_repository
## Install runner dependencies ## Install runner dependencies
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \ RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \
dnf --assumeyes install \ dnf --assumeyes install \
boost-regex \ boost-regex \
cairo \ cairo \

View File

@ -4,22 +4,31 @@ ARG centos_stream_version=9
ARG extra_repository=crb ARG extra_repository=crb
ARG mapnik_version=4.0.3 ARG mapnik_version=4.0.3
# Mapnik Builder # Base
FROM quay.io/centos/centos:stream${centos_stream_version} AS mapnik-builder FROM quay.io/centos/centos:stream${centos_stream_version} AS base
## Arguments ## Arguments
ARG centos_stream_version ARG centos_stream_version
ARG extra_repository ARG extra_repository
ARG mapnik_version
## Install mapnik-builder dependencies ## Install base dependencies
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \ RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \ echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \ echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \ dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \ dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \ dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \ dnf --assumeyes upgrade
# Mapnik Builder
FROM base AS mapnik-builder
## Arguments
ARG centos_stream_version
ARG mapnik_version
## Install mapnik-builder dependencies
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
dnf --assumeyes install \ dnf --assumeyes install \
boost-devel \ boost-devel \
cairo-devel \ cairo-devel \
@ -71,20 +80,13 @@ RUN --mount=type=cache,id=centos:stream${centos_stream_version}-mapnik-src:${map
cmake --install . --strip cmake --install . --strip
# Builder # Builder
FROM quay.io/centos/centos:stream${centos_stream_version} AS builder FROM base AS builder
## Arguments ## Arguments
ARG centos_stream_version ARG centos_stream_version
ARG extra_repository
## Install builder dependencies ## Install builder dependencies
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \ RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \
dnf --assumeyes install \ dnf --assumeyes install \
automake \ automake \
boost-devel \ boost-devel \
@ -122,20 +124,13 @@ RUN export DESTDIR=/tmp/mod_tile && \
RUN make test RUN make test
# Runner # Runner
FROM quay.io/centos/centos:stream${centos_stream_version} AS runner FROM base AS runner
## Arguments ## Arguments
ARG centos_stream_version ARG centos_stream_version
ARG extra_repository
## Install runner dependencies ## Install runner dependencies
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \ RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \
dnf --assumeyes install \ dnf --assumeyes install \
boost-regex \ boost-regex \
cairo \ cairo \

View File

@ -3,21 +3,30 @@
ARG centos_stream_version=9 ARG centos_stream_version=9
ARG extra_repository=crb ARG extra_repository=crb
# Mapnik Builder # Base
FROM quay.io/centos/centos:stream${centos_stream_version} AS mapnik-builder FROM quay.io/centos/centos:stream${centos_stream_version} AS base
## Arguments ## Arguments
ARG centos_stream_version ARG centos_stream_version
ARG extra_repository ARG extra_repository
## Install mapnik-builder dependencies ## Install base dependencies
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \ RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \ echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \ echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \ dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \ dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \ dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \ dnf --assumeyes upgrade
# Mapnik Builder
FROM base AS mapnik-builder
## Arguments
ARG centos_stream_version
## Install mapnik-builder dependencies
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
dnf --assumeyes install \ dnf --assumeyes install \
boost-devel \ boost-devel \
cairo-devel \ cairo-devel \
@ -69,20 +78,13 @@ RUN --mount=type=cache,id=centos:stream${centos_stream_version}-mapnik-src:lates
cmake --install . --strip cmake --install . --strip
# Builder # Builder
FROM quay.io/centos/centos:stream${centos_stream_version} AS builder FROM base AS builder
## Arguments ## Arguments
ARG centos_stream_version ARG centos_stream_version
ARG extra_repository
## Install builder dependencies ## Install builder dependencies
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \ RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \
dnf --assumeyes install \ dnf --assumeyes install \
boost-devel \ boost-devel \
cairo-devel \ cairo-devel \
@ -131,20 +133,13 @@ RUN export DESTDIR=/tmp/mod_tile && \
cmake --install . --strip cmake --install . --strip
# Runner # Runner
FROM quay.io/centos/centos:stream${centos_stream_version} AS runner FROM base AS runner
## Arguments ## Arguments
ARG centos_stream_version ARG centos_stream_version
ARG extra_repository
## Install runner dependencies ## Install runner dependencies
RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \ RUN --mount=type=cache,sharing=locked,id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/cache/dnf \
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \
dnf --assumeyes install \ dnf --assumeyes install \
boost-regex \ boost-regex \
cairo \ cairo \

View File

@ -5,8 +5,21 @@ ARG libiniparser_version=1
ARG libmapnik_version=3.1 ARG libmapnik_version=3.1
ARG runner_additional_packages=libcurl4 libglib2.0 ARG runner_additional_packages=libcurl4 libglib2.0
# Base
FROM debian:${debian_version} AS base
## Arguments
ARG debian_version
## Install base dependencies
RUN --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/lib/apt,target=/var/lib/apt \
export DEBIAN_FRONTEND=noninteractive && \
apt-get --yes update && \
apt-get --yes upgrade
# Builder # Builder
FROM debian:${debian_version} AS builder FROM base AS builder
## Arguments ## Arguments
ARG debian_version ARG debian_version
@ -15,8 +28,6 @@ ARG debian_version
RUN --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/cache/apt,target=/var/cache/apt \ RUN --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/lib/apt,target=/var/lib/apt \ --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/lib/apt,target=/var/lib/apt \
export DEBIAN_FRONTEND=noninteractive && \ export DEBIAN_FRONTEND=noninteractive && \
apt-get --yes update && \
apt-get --yes upgrade && \
apt-get --no-install-recommends --yes install \ apt-get --no-install-recommends --yes install \
apache2 \ apache2 \
apache2-dev \ apache2-dev \
@ -51,7 +62,7 @@ RUN export DESTDIR=/tmp/mod_tile && \
cmake --install . --strip cmake --install . --strip
# Runner # Runner
FROM debian:${debian_version} AS runner FROM base AS runner
## Arguments ## Arguments
ARG debian_version ARG debian_version
@ -63,8 +74,6 @@ ARG runner_additional_packages
RUN --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/cache/apt,target=/var/cache/apt \ RUN --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/lib/apt,target=/var/lib/apt \ --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/lib/apt,target=/var/lib/apt \
export DEBIAN_FRONTEND=noninteractive && \ export DEBIAN_FRONTEND=noninteractive && \
apt-get --yes update && \
apt-get --yes upgrade && \
apt-get --no-install-recommends --yes install ${runner_additional_packages} \ apt-get --no-install-recommends --yes install ${runner_additional_packages} \
apache2 \ apache2 \
libcairo2 \ libcairo2 \

View File

@ -5,8 +5,21 @@ ARG libiniparser_version=1
ARG libmapnik_version=3.1 ARG libmapnik_version=3.1
ARG runner_additional_packages=libcurl4 libglib2.0 ARG runner_additional_packages=libcurl4 libglib2.0
# Base
FROM debian:${debian_version} AS base
## Arguments
ARG debian_version
## Install base dependencies
RUN --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/lib/apt,target=/var/lib/apt \
export DEBIAN_FRONTEND=noninteractive && \
apt-get --yes update && \
apt-get --yes upgrade
# Builder # Builder
FROM debian:${debian_version} AS builder FROM base AS builder
## Arguments ## Arguments
ARG debian_version ARG debian_version
@ -15,8 +28,6 @@ ARG debian_version
RUN --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/cache/apt,target=/var/cache/apt \ RUN --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/lib/apt,target=/var/lib/apt \ --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/lib/apt,target=/var/lib/apt \
export DEBIAN_FRONTEND=noninteractive && \ export DEBIAN_FRONTEND=noninteractive && \
apt-get --yes update && \
apt-get --yes upgrade && \
apt-get --no-install-recommends --yes install \ apt-get --no-install-recommends --yes install \
apache2 \ apache2 \
apache2-dev \ apache2-dev \
@ -42,7 +53,7 @@ RUN export DESTDIR=/tmp/mod_tile && \
RUN make test RUN make test
# Runner # Runner
FROM debian:${debian_version} AS runner FROM base AS runner
## Arguments ## Arguments
ARG debian_version ARG debian_version
@ -54,8 +65,6 @@ ARG runner_additional_packages
RUN --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/cache/apt,target=/var/cache/apt \ RUN --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/lib/apt,target=/var/lib/apt \ --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/lib/apt,target=/var/lib/apt \
export DEBIAN_FRONTEND=noninteractive && \ export DEBIAN_FRONTEND=noninteractive && \
apt-get --yes update && \
apt-get --yes upgrade && \
apt-get --no-install-recommends --yes install ${runner_additional_packages} \ apt-get --no-install-recommends --yes install ${runner_additional_packages} \
apache2 \ apache2 \
libcairo2 \ libcairo2 \

View File

@ -200,6 +200,12 @@ services:
<<: *build_defaults_fedora <<: *build_defaults_fedora
args: args:
fedora_version: "41" fedora_version: "41"
fedora-42:
<<: *service_defaults
build:
<<: *build_defaults_fedora
args:
fedora_version: "42"
fedora-rawhide: fedora-rawhide:
<<: *service_defaults <<: *service_defaults
build: build:

View File

@ -1,17 +1,27 @@
# hadolint global ignore=DL3025,DL3040,DL3041,DL3059 # hadolint global ignore=DL3025,DL3040,DL3041,DL3059
# Arguments # Arguments
ARG fedora_version=40 ARG fedora_version=42
# Base
FROM fedora:${fedora_version} AS base
## Arguments
ARG fedora_version
## Install base dependencies
RUN --mount=type=cache,sharing=locked,id=fedora:${fedora_version}-/var/cache/dnf,target=/var/cache/dnf \
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes upgrade
# Builder # Builder
FROM fedora:${fedora_version} AS builder FROM base AS builder
## Arguments ## Arguments
ARG fedora_version ARG fedora_version
## Install builder dependencies ## Install builder dependencies
RUN --mount=type=cache,sharing=locked,id=fedora:${fedora_version}-/var/cache/dnf,target=/var/cache/dnf \ RUN --mount=type=cache,sharing=locked,id=fedora:${fedora_version}-/var/cache/dnf,target=/var/cache/dnf \
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install \ dnf --assumeyes install \
cairo-devel \ cairo-devel \
cmake \ cmake \
@ -45,15 +55,13 @@ RUN export DESTDIR=/tmp/mod_tile && \
cmake --install . --strip cmake --install . --strip
# Runner # Runner
FROM fedora:${fedora_version} AS runner FROM base AS runner
## Arguments ## Arguments
ARG fedora_version ARG fedora_version
## Install runner dependencies ## Install runner dependencies
RUN --mount=type=cache,sharing=locked,id=fedora:${fedora_version}-/var/cache/dnf,target=/var/cache/dnf \ RUN --mount=type=cache,sharing=locked,id=fedora:${fedora_version}-/var/cache/dnf,target=/var/cache/dnf \
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install \ dnf --assumeyes install \
cairo \ cairo \
glib2 \ glib2 \

View File

@ -6,8 +6,20 @@ ARG mapnik_version=4.0.3
ARG opensuse_release=leap ARG opensuse_release=leap
ARG opensuse_version=15 ARG opensuse_version=15
# Base
FROM opensuse/${opensuse_release}:${opensuse_version} AS base
## Arguments
ARG opensuse_release
ARG opensuse_version
## Install base dependencies
RUN --mount=type=cache,sharing=locked,id=opensuse/${opensuse_release}:${opensuse_version}-/var/cache/zypp,target=/var/cache/zypp \
zypper modifyrepo --all --keep-packages && \
zypper --non-interactive update
# Mapnik Builder # Mapnik Builder
FROM opensuse/${opensuse_release}:${opensuse_version} AS mapnik-builder FROM base AS mapnik-builder
## Arguments ## Arguments
ARG boost_version ARG boost_version
@ -18,8 +30,6 @@ ARG opensuse_version
## Install mapnik-builder dependencies ## Install mapnik-builder dependencies
RUN --mount=type=cache,sharing=locked,id=opensuse/${opensuse_release}:${opensuse_version}-/var/cache/zypp,target=/var/cache/zypp \ RUN --mount=type=cache,sharing=locked,id=opensuse/${opensuse_release}:${opensuse_version}-/var/cache/zypp,target=/var/cache/zypp \
zypper modifyrepo --all --keep-packages && \
zypper --non-interactive update && \
zypper --non-interactive install \ zypper --non-interactive install \
cairo-devel \ cairo-devel \
cmake \ cmake \
@ -76,7 +86,7 @@ RUN --mount=type=cache,id=opensuse/${opensuse_release}:${opensuse_version}-mapni
cmake --install . --strip cmake --install . --strip
# Builder # Builder
FROM opensuse/${opensuse_release}:${opensuse_version} AS builder FROM base AS builder
## Arguments ## Arguments
ARG boost_version ARG boost_version
@ -85,8 +95,6 @@ ARG opensuse_version
## Install builder dependencies ## Install builder dependencies
RUN --mount=type=cache,sharing=locked,id=opensuse/${opensuse_release}:${opensuse_version}-/var/cache/zypp,target=/var/cache/zypp \ RUN --mount=type=cache,sharing=locked,id=opensuse/${opensuse_release}:${opensuse_version}-/var/cache/zypp,target=/var/cache/zypp \
zypper modifyrepo --all --keep-packages && \
zypper --non-interactive update && \
zypper --non-interactive install \ zypper --non-interactive install \
apache2-devel \ apache2-devel \
cairo-devel \ cairo-devel \
@ -136,7 +144,7 @@ RUN export DESTDIR=/tmp/mod_tile && \
cmake --install . --strip cmake --install . --strip
# Runner # Runner
FROM opensuse/${opensuse_release}:${opensuse_version} AS runner FROM base AS runner
## Arguments ## Arguments
ARG boost_version ARG boost_version
@ -145,8 +153,6 @@ ARG opensuse_version
## Install runner dependencies ## Install runner dependencies
RUN --mount=type=cache,sharing=locked,id=opensuse/${opensuse_release}:${opensuse_version}-/var/cache/zypp,target=/var/cache/zypp \ RUN --mount=type=cache,sharing=locked,id=opensuse/${opensuse_release}:${opensuse_version}-/var/cache/zypp,target=/var/cache/zypp \
zypper modifyrepo --all --keep-packages && \
zypper --non-interactive update && \
zypper --non-interactive install \ zypper --non-interactive install \
apache2 \ apache2 \
apache2-utils \ apache2-utils \

View File

@ -5,8 +5,21 @@ ARG libmapnik_version=3.1
ARG runner_additional_packages ARG runner_additional_packages
ARG ubuntu_version=24.04 ARG ubuntu_version=24.04
# Base
FROM ubuntu:${ubuntu_version} AS base
## Arguments
ARG ubuntu_version
## Install base dependencies
RUN --mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/lib/apt,target=/var/lib/apt \
export DEBIAN_FRONTEND=noninteractive && \
apt-get --yes update && \
apt-get --yes upgrade
# Builder # Builder
FROM ubuntu:${ubuntu_version} AS builder FROM base AS builder
## Arguments ## Arguments
ARG ubuntu_version ARG ubuntu_version
@ -15,8 +28,6 @@ ARG ubuntu_version
RUN --mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/cache/apt,target=/var/cache/apt \ RUN --mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/lib/apt,target=/var/lib/apt \ --mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/lib/apt,target=/var/lib/apt \
export DEBIAN_FRONTEND=noninteractive && \ export DEBIAN_FRONTEND=noninteractive && \
apt-get --yes update && \
apt-get --yes upgrade && \
apt-get --no-install-recommends --yes install \ apt-get --no-install-recommends --yes install \
apache2 \ apache2 \
apache2-dev \ apache2-dev \
@ -51,7 +62,7 @@ RUN export DESTDIR=/tmp/mod_tile && \
cmake --install . --strip cmake --install . --strip
# Runner # Runner
FROM ubuntu:${ubuntu_version} AS runner FROM base AS runner
## Arguments ## Arguments
ARG libiniparser_version ARG libiniparser_version
@ -63,8 +74,6 @@ ARG ubuntu_version
RUN --mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/cache/apt,target=/var/cache/apt \ RUN --mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/lib/apt,target=/var/lib/apt \ --mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/lib/apt,target=/var/lib/apt \
export DEBIAN_FRONTEND=noninteractive && \ export DEBIAN_FRONTEND=noninteractive && \
apt-get --yes update && \
apt-get --yes upgrade && \
apt-get --no-install-recommends --yes install ${runner_additional_packages} \ apt-get --no-install-recommends --yes install ${runner_additional_packages} \
apache2 \ apache2 \
libcairo2 \ libcairo2 \

View File

@ -4,8 +4,21 @@ ARG libiniparser_version=1
ARG libmapnik_version=3.1 ARG libmapnik_version=3.1
ARG ubuntu_version=24.04 ARG ubuntu_version=24.04
# Base
FROM ubuntu:${ubuntu_version} AS base
## Arguments
ARG ubuntu_version
## Install base dependencies
RUN --mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/lib/apt,target=/var/lib/apt \
export DEBIAN_FRONTEND=noninteractive && \
apt-get --yes update && \
apt-get --yes upgrade
# Builder # Builder
FROM ubuntu:${ubuntu_version} AS builder FROM base AS builder
## Arguments ## Arguments
ARG ubuntu_version ARG ubuntu_version
@ -14,8 +27,6 @@ ARG ubuntu_version
RUN --mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/cache/apt,target=/var/cache/apt \ RUN --mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/lib/apt,target=/var/lib/apt \ --mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/lib/apt,target=/var/lib/apt \
export DEBIAN_FRONTEND=noninteractive && \ export DEBIAN_FRONTEND=noninteractive && \
apt-get --yes update && \
apt-get --yes upgrade && \
apt-get --no-install-recommends --yes install \ apt-get --no-install-recommends --yes install \
apache2 \ apache2 \
apache2-dev \ apache2-dev \
@ -41,7 +52,7 @@ RUN export DESTDIR=/tmp/mod_tile && \
RUN make test RUN make test
# Runner # Runner
FROM ubuntu:${ubuntu_version} AS runner FROM base AS runner
## Arguments ## Arguments
ARG libiniparser_version ARG libiniparser_version
@ -52,8 +63,6 @@ ARG ubuntu_version
RUN --mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/cache/apt,target=/var/cache/apt \ RUN --mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/lib/apt,target=/var/lib/apt \ --mount=type=cache,sharing=locked,id=ubuntu:${ubuntu_version}-/var/lib/apt,target=/var/lib/apt \
export DEBIAN_FRONTEND=noninteractive && \ export DEBIAN_FRONTEND=noninteractive && \
apt-get --yes update && \
apt-get --yes upgrade && \
apt-get --no-install-recommends --yes install \ apt-get --no-install-recommends --yes install \
apache2 \ apache2 \
libcairo2 \ libcairo2 \

View File

@ -6,7 +6,7 @@ Please see our [Continuous Integration script](/.github/workflows/build-and-test
A Docker-based building & testing setup pipeline is also available [here](/docker) for your convenience. A Docker-based building & testing setup pipeline is also available [here](/docker) for your convenience.
## Fedora 34/35/36/37/38/39/40/41 ## Fedora 34/35/36/37/38/39/40/41/42
```shell ```shell
#!/usr/bin/env bash #!/usr/bin/env bash