mirror of
https://github.com/openstreetmap/mod_tile.git
synced 2025-07-29 12:53:07 +00:00
CI/Docs updates (#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
This commit is contained in:
2
.github/actions/cmake/package/action.yml
vendored
2
.github/actions/cmake/package/action.yml
vendored
@ -4,7 +4,7 @@ runs:
|
||||
steps:
|
||||
- name: Set `CPACK_PACKAGE_FILE_NAME`
|
||||
run: |
|
||||
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}
|
||||
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}
|
||||
shell: bash --noprofile --norc -euxo pipefail {0}
|
||||
|
||||
- name: Set `CPACK_OPTIONS`
|
||||
|
2
.github/actions/cmake/test/action.yml
vendored
2
.github/actions/cmake/test/action.yml
vendored
@ -15,7 +15,7 @@ runs:
|
||||
|
||||
- name: Set `TEST_ARTIFACT_NAME`
|
||||
run: |
|
||||
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}
|
||||
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}
|
||||
shell: bash --noprofile --norc -euxo pipefail {0}
|
||||
if: failure()
|
||||
|
||||
|
11
.github/actions/coverage/action.yml
vendored
11
.github/actions/coverage/action.yml
vendored
@ -4,6 +4,8 @@ inputs:
|
||||
default: ""
|
||||
lcov-extra-options:
|
||||
default: ""
|
||||
codecov-token:
|
||||
default: ""
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
@ -33,9 +35,12 @@ runs:
|
||||
shell: bash --noprofile --norc -euxo pipefail {0}
|
||||
|
||||
- name: Report `mod_tile` coverage results to `codecov.io`
|
||||
uses: codecov/codecov-action@v3.1.5
|
||||
uses: codecov/codecov-action@v4
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ inputs.codecov-token }}
|
||||
with:
|
||||
files: coverage.info
|
||||
disable_search: true
|
||||
file: coverage.info
|
||||
|
||||
- name: Write `mod_tile` coverage summary to `$GITHUB_STEP_SUMMARY`
|
||||
run: |
|
||||
@ -53,7 +58,7 @@ runs:
|
||||
|
||||
- name: Set `COVERAGE_ARTIFACT_NAME`
|
||||
run: |
|
||||
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}
|
||||
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}
|
||||
shell: bash --noprofile --norc -euxo pipefail {0}
|
||||
|
||||
- name: Upload `mod_tile` coverage artifacts
|
||||
|
@ -15,7 +15,7 @@ runs:
|
||||
path: |
|
||||
mapnik-build
|
||||
mapnik-src
|
||||
key: ${{ matrix.image || matrix.os || matrix.box_generic || github.job }}-${{ matrix.compiler }}-mapnik-${{ inputs.version }}
|
||||
key: ${{ matrix.image || matrix.os || matrix.box_freebsd || github.job }}-${{ matrix.compiler }}-mapnik-${{ inputs.version }}
|
||||
|
||||
- name: Checkout `Mapnik`
|
||||
uses: actions/checkout@v4
|
||||
|
83
.github/actions/dependencies/install/action.yml
vendored
83
.github/actions/dependencies/install/action.yml
vendored
@ -1,5 +1,39 @@
|
||||
---
|
||||
inputs:
|
||||
centos-stream-build-dependencies:
|
||||
default: >-
|
||||
cairo-devel
|
||||
glib2-devel
|
||||
httpd-devel
|
||||
iniparser-devel
|
||||
libcurl-devel
|
||||
libmemcached-devel
|
||||
librados2-devel
|
||||
centos-stream-test-dependencies:
|
||||
default: >-
|
||||
httpd
|
||||
jq
|
||||
lcov
|
||||
memcached
|
||||
procps
|
||||
centos-stream-mapnik-build-dependencies:
|
||||
default: >-
|
||||
boost-devel
|
||||
cmake
|
||||
freetype-devel
|
||||
gdal-devel
|
||||
git
|
||||
harfbuzz-devel
|
||||
libicu-devel
|
||||
libjpeg-devel
|
||||
libpng-devel
|
||||
libtiff-devel
|
||||
libwebp-devel
|
||||
libxml2-devel
|
||||
postgresql-devel
|
||||
proj-devel
|
||||
sqlite-devel
|
||||
zlib-devel
|
||||
debian-build-dependencies:
|
||||
default: >-
|
||||
apache2-dev
|
||||
@ -30,6 +64,7 @@ inputs:
|
||||
debian-test-dependencies:
|
||||
default: >-
|
||||
apache2
|
||||
git
|
||||
jq
|
||||
lcov
|
||||
memcached
|
||||
@ -47,6 +82,7 @@ inputs:
|
||||
sqlite-devel
|
||||
fedora-test-dependencies:
|
||||
default: >-
|
||||
git
|
||||
httpd
|
||||
jq
|
||||
lcov
|
||||
@ -75,6 +111,7 @@ inputs:
|
||||
curl
|
||||
glib
|
||||
httpd
|
||||
icu4c
|
||||
iniparser
|
||||
libmemcached
|
||||
mapnik
|
||||
@ -103,6 +140,7 @@ inputs:
|
||||
jq
|
||||
lcov
|
||||
memcached
|
||||
procps
|
||||
opensuse-mapnik-build-dependencies:
|
||||
default: >-
|
||||
cmake
|
||||
@ -121,40 +159,6 @@ inputs:
|
||||
proj-devel
|
||||
sqlite3-devel
|
||||
zlib-devel
|
||||
rhel-build-dependencies:
|
||||
default: >-
|
||||
cairo-devel
|
||||
glib2-devel
|
||||
httpd-devel
|
||||
iniparser-devel
|
||||
libcurl-devel
|
||||
libmemcached-devel
|
||||
librados2-devel
|
||||
rhel-test-dependencies:
|
||||
default: >-
|
||||
httpd
|
||||
jq
|
||||
lcov
|
||||
memcached
|
||||
procps
|
||||
rhel-mapnik-build-dependencies:
|
||||
default: >-
|
||||
boost-devel
|
||||
cmake
|
||||
freetype-devel
|
||||
gdal-devel
|
||||
git
|
||||
harfbuzz-devel
|
||||
libicu-devel
|
||||
libjpeg-devel
|
||||
libpng-devel
|
||||
libtiff-devel
|
||||
libwebp-devel
|
||||
libxml2-devel
|
||||
postgresql-devel
|
||||
proj-devel
|
||||
sqlite-devel
|
||||
zlib-devel
|
||||
ubuntu-build-dependencies:
|
||||
default: >-
|
||||
apache2-dev
|
||||
@ -185,13 +189,14 @@ inputs:
|
||||
ubuntu-test-dependencies:
|
||||
default: >-
|
||||
apache2
|
||||
git
|
||||
jq
|
||||
lcov
|
||||
memcached
|
||||
mapnik-build-version-centos-stream:
|
||||
default: 4.0.0
|
||||
default: 4.0.3
|
||||
mapnik-build-version-opensuse:
|
||||
default: 4.0.0
|
||||
default: 4.0.3
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
@ -201,9 +206,9 @@ runs:
|
||||
with:
|
||||
dependencies: epel-release
|
||||
packages: >-
|
||||
${{ inputs.rhel-build-dependencies }}
|
||||
${{ inputs.rhel-mapnik-build-dependencies }}
|
||||
${{ inputs.rhel-test-dependencies }}
|
||||
${{ inputs.centos-stream-build-dependencies }}
|
||||
${{ inputs.centos-stream-mapnik-build-dependencies }}
|
||||
${{ inputs.centos-stream-test-dependencies }}
|
||||
${{ matrix.build_system == 'CMake' && 'cmake' || 'autoconf automake redhat-rpm-config' }}
|
||||
${{ matrix.compiler == 'LLVM' && 'clang' || 'gcc gcc-c++' }}
|
||||
rpm-build
|
||||
|
25
.github/workflows/build-and-test.yml
vendored
25
.github/workflows/build-and-test.yml
vendored
@ -22,8 +22,8 @@ jobs:
|
||||
image:
|
||||
- "debian:11"
|
||||
- "debian:12"
|
||||
- "fedora:39"
|
||||
- "fedora:40"
|
||||
- "fedora:41"
|
||||
- "opensuse/leap:15"
|
||||
- "quay.io/centos/centos:stream9"
|
||||
- "ubuntu:22.04"
|
||||
@ -83,6 +83,8 @@ jobs:
|
||||
|
||||
- name: Process & Report `mod_tile` coverage results
|
||||
uses: ./.github/actions/coverage
|
||||
with:
|
||||
codecov-token: ${{ secrets.CODECOV_TOKEN }}
|
||||
if: |
|
||||
matrix.compiler != 'LLVM' &&
|
||||
!startsWith(matrix.image, 'opensuse/') &&
|
||||
@ -137,6 +139,8 @@ jobs:
|
||||
|
||||
- name: Process & Report `mod_tile` coverage results
|
||||
uses: ./.github/actions/coverage
|
||||
with:
|
||||
codecov-token: ${{ secrets.CODECOV_TOKEN }}
|
||||
|
||||
- name: Package `mod_tile`
|
||||
uses: ./.github/actions/cmake/package
|
||||
@ -161,8 +165,8 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os:
|
||||
- macos-12
|
||||
- macos-13
|
||||
- macos-14
|
||||
build_system:
|
||||
- CMake
|
||||
compiler:
|
||||
@ -170,7 +174,7 @@ jobs:
|
||||
on_default_branch:
|
||||
- ${{ contains(github.ref, 'master') || contains(github.ref, 'develop') || contains(github.ref, 'CI') }}
|
||||
include:
|
||||
- os: macos-14
|
||||
- os: macos-15
|
||||
build_system: CMake
|
||||
compiler: LLVM
|
||||
exclude:
|
||||
@ -197,6 +201,7 @@ jobs:
|
||||
- name: Process & Report `mod_tile` coverage results
|
||||
uses: ./.github/actions/coverage
|
||||
with:
|
||||
codecov-token: ${{ secrets.CODECOV_TOKEN }}
|
||||
genhtml-extra-options: --keep-going --ignore-errors count,inconsistent,range
|
||||
lcov-extra-options: --keep-going --ignore-errors count,inconsistent,range
|
||||
if: matrix.os != 'macos-12'
|
||||
@ -218,14 +223,14 @@ jobs:
|
||||
LIBRARY_PATH: /usr/local/lib
|
||||
TMPDIR: /tmp
|
||||
name: >-
|
||||
${{ matrix.box_generic }}
|
||||
${{ matrix.box_freebsd }}
|
||||
(${{ matrix.build_system }})
|
||||
(${{ matrix.compiler }})
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
box_generic:
|
||||
- freebsd13
|
||||
box_freebsd:
|
||||
- FreeBSD-13.4-STABLE
|
||||
build_system:
|
||||
- CMake
|
||||
compiler:
|
||||
@ -233,7 +238,7 @@ jobs:
|
||||
on_default_branch:
|
||||
- ${{ contains(github.ref, 'master') || contains(github.ref, 'develop') || contains(github.ref, 'CI') }}
|
||||
include:
|
||||
- box_generic: freebsd14
|
||||
- box_freebsd: FreeBSD-14.1-STABLE
|
||||
build_system: CMake
|
||||
compiler: LLVM
|
||||
exclude:
|
||||
@ -249,9 +254,9 @@ jobs:
|
||||
echo "TEST_PARALLEL_LEVEL=$(nproc)" >> ${GITHUB_ENV}
|
||||
|
||||
- name: Provision VM
|
||||
uses: hummeltech/freebsd-vagrant-action@v2
|
||||
uses: hummeltech/freebsd-vagrant-action@v3
|
||||
with:
|
||||
box: generic/${{ matrix.box_generic }}
|
||||
box: freebsd/${{ matrix.box_freebsd }}
|
||||
cpus: ${{ env.BUILD_PARALLEL_LEVEL }}
|
||||
memory: 4096
|
||||
|
||||
@ -273,6 +278,8 @@ jobs:
|
||||
|
||||
- name: Process & Report `mod_tile` coverage results
|
||||
uses: ./.github/actions/coverage
|
||||
with:
|
||||
codecov-token: ${{ secrets.CODECOV_TOKEN }}
|
||||
|
||||
- name: Package `mod_tile`
|
||||
uses: ./.github/actions/cmake/package
|
||||
|
2
.github/workflows/docker-image-build.yml
vendored
2
.github/workflows/docker-image-build.yml
vendored
@ -35,8 +35,8 @@ jobs:
|
||||
- centos-stream-9
|
||||
- debian-11
|
||||
- debian-12
|
||||
- fedora-39
|
||||
- fedora-40
|
||||
- fedora-41
|
||||
- opensuse-leap-15
|
||||
- ubuntu-22.04
|
||||
- ubuntu-24.04
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Arguments
|
||||
ARG centos_stream_version=9
|
||||
ARG extra_repository=crb
|
||||
ARG mapnik_version=4.0.0
|
||||
ARG mapnik_version=4.0.3
|
||||
|
||||
# Mapnik Builder
|
||||
FROM quay.io/centos/centos:stream${centos_stream_version} AS mapnik-builder
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Arguments
|
||||
ARG centos_stream_version=9
|
||||
ARG extra_repository=crb
|
||||
ARG mapnik_version=4.0.0
|
||||
ARG mapnik_version=4.0.3
|
||||
|
||||
# Mapnik Builder
|
||||
FROM quay.io/centos/centos:stream${centos_stream_version} AS mapnik-builder
|
||||
|
@ -1,6 +1,7 @@
|
||||
# hadolint global ignore=DL3008,DL3025,DL3059
|
||||
# Arguments
|
||||
ARG debian_version=12
|
||||
ARG libiniparser_version=1
|
||||
ARG libmapnik_version=3.1
|
||||
ARG runner_additional_packages=libcurl4 libglib2.0
|
||||
|
||||
@ -54,6 +55,7 @@ FROM debian:${debian_version} AS runner
|
||||
|
||||
## Arguments
|
||||
ARG debian_version
|
||||
ARG libiniparser_version
|
||||
ARG libmapnik_version
|
||||
ARG runner_additional_packages
|
||||
|
||||
@ -66,7 +68,7 @@ RUN --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/cache/apt
|
||||
apt-get --no-install-recommends --yes install ${runner_additional_packages} \
|
||||
apache2 \
|
||||
libcairo2 \
|
||||
libiniparser1 \
|
||||
libiniparser${libiniparser_version} \
|
||||
libmapnik${libmapnik_version} \
|
||||
libmemcached11 \
|
||||
libmemcachedutil2 \
|
||||
|
@ -1,6 +1,7 @@
|
||||
# hadolint global ignore=DL3008,DL3025,DL3059
|
||||
# Arguments
|
||||
ARG debian_version=12
|
||||
ARG libiniparser_version=1
|
||||
ARG libmapnik_version=3.1
|
||||
ARG runner_additional_packages=libcurl4 libglib2.0
|
||||
|
||||
@ -45,6 +46,7 @@ FROM debian:${debian_version} AS runner
|
||||
|
||||
## Arguments
|
||||
ARG debian_version
|
||||
ARG libiniparser_version
|
||||
ARG libmapnik_version
|
||||
ARG runner_additional_packages
|
||||
|
||||
@ -57,7 +59,7 @@ RUN --mount=type=cache,sharing=locked,id=debian:${debian_version}-/var/cache/apt
|
||||
apt-get --no-install-recommends --yes install ${runner_additional_packages} \
|
||||
apache2 \
|
||||
libcairo2 \
|
||||
libiniparser1 \
|
||||
libiniparser${libiniparser_version} \
|
||||
libmapnik${libmapnik_version} \
|
||||
libmemcached11 \
|
||||
librados2
|
||||
|
@ -134,6 +134,7 @@ services:
|
||||
build:
|
||||
<<: *build_defaults_debian
|
||||
args:
|
||||
libiniparser_version: 4
|
||||
libmapnik_version: "4.0"
|
||||
debian_version: unstable
|
||||
runner_additional_packages: >-
|
||||
@ -144,6 +145,7 @@ services:
|
||||
build:
|
||||
<<: *build_defaults_debian
|
||||
args:
|
||||
libiniparser_version: 4
|
||||
libmapnik_version: "4.0"
|
||||
debian_version: unstable
|
||||
runner_additional_packages: >-
|
||||
@ -192,6 +194,12 @@ services:
|
||||
<<: *build_defaults_fedora
|
||||
args:
|
||||
fedora_version: "40"
|
||||
fedora-41:
|
||||
<<: *service_defaults
|
||||
build:
|
||||
<<: *build_defaults_fedora
|
||||
args:
|
||||
fedora_version: "41"
|
||||
fedora-rawhide:
|
||||
<<: *service_defaults
|
||||
build:
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Arguments
|
||||
ARG boost_version
|
||||
ARG gcc_version
|
||||
ARG mapnik_version=4.0.0
|
||||
ARG mapnik_version=4.0.3
|
||||
ARG opensuse_release=leap
|
||||
ARG opensuse_version=15
|
||||
|
||||
@ -107,6 +107,7 @@ RUN --mount=type=cache,sharing=locked,id=opensuse/${opensuse_release}:${opensuse
|
||||
libtiff-devel \
|
||||
libwebp-devel \
|
||||
libxml2-devel \
|
||||
procps \
|
||||
proj-devel \
|
||||
tar
|
||||
|
||||
|
5
docs/build/building_on_fedora.md
vendored
5
docs/build/building_on_fedora.md
vendored
@ -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.
|
||||
|
||||
## Fedora 34/35/36/37/38/39/40
|
||||
## Fedora 34/35/36/37/38/39/40/41
|
||||
|
||||
```shell
|
||||
#!/usr/bin/env bash
|
||||
@ -29,7 +29,8 @@ sudo dnf --assumeyes --setopt=install_weak_deps=False install \
|
||||
libmemcached-devel \
|
||||
librados-devel \
|
||||
mapnik-devel \
|
||||
mapnik-static
|
||||
mapnik-static \
|
||||
procps
|
||||
|
||||
# Download, Build, Test & Install `mod_tile`
|
||||
export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc)
|
||||
|
3
docs/build/building_on_macos.md
vendored
3
docs/build/building_on_macos.md
vendored
@ -4,7 +4,7 @@ This document provides users with step-by-step instructions on how to compile an
|
||||
|
||||
Please see our [Continuous Integration script](/.github/workflows/build-and-test.yml) for more details.
|
||||
|
||||
## macOS 11/12/13/14
|
||||
## macOS 11/12/13/14/15
|
||||
|
||||
```shell
|
||||
#!/usr/bin/env bash
|
||||
@ -22,6 +22,7 @@ brew install \
|
||||
curl \
|
||||
glib \
|
||||
httpd \
|
||||
icu4c \
|
||||
iniparser \
|
||||
libmemcached \
|
||||
mapnik \
|
||||
|
1
docs/build/building_on_opensuse.md
vendored
1
docs/build/building_on_opensuse.md
vendored
@ -38,6 +38,7 @@ sudo zypper --non-interactive install \
|
||||
libtiff-devel \
|
||||
libwebp-devel \
|
||||
libxml2-devel \
|
||||
procps \
|
||||
proj-devel \
|
||||
tar
|
||||
|
||||
|
Reference in New Issue
Block a user