Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI/Docs updates #470

Merged
merged 8 commits into from
Nov 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/cmake/package/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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`
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/cmake/test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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()

Expand Down
11 changes: 8 additions & 3 deletions .github/actions/coverage/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ inputs:
default: ""
lcov-extra-options:
default: ""
codecov-token:
default: ""

runs:
using: composite
Expand Down Expand Up @@ -33,9 +35,12 @@ runs:
shell: bash --noprofile --norc -euxo pipefail {0}

- name: Report `mod_tile` coverage results to `codecov.io`
uses: codecov/[email protected]
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: |
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
83 changes: 44 additions & 39 deletions .github/actions/dependencies/install/action.yml
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -30,6 +64,7 @@ inputs:
debian-test-dependencies:
default: >-
apache2
git
jq
lcov
memcached
Expand All @@ -47,6 +82,7 @@ inputs:
sqlite-devel
fedora-test-dependencies:
default: >-
git
httpd
jq
lcov
Expand Down Expand Up @@ -75,6 +111,7 @@ inputs:
curl
glib
httpd
icu4c
iniparser
libmemcached
mapnik
Expand Down Expand Up @@ -103,6 +140,7 @@ inputs:
jq
lcov
memcached
procps
opensuse-mapnik-build-dependencies:
default: >-
cmake
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down
25 changes: 16 additions & 9 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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/') &&
Expand Down Expand Up @@ -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
Expand All @@ -161,16 +165,16 @@ jobs:
fail-fast: false
matrix:
os:
- macos-12
- macos-13
- macos-14
build_system:
- CMake
compiler:
- LLVM
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:
Expand All @@ -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'
Expand All @@ -218,22 +223,22 @@ 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:
- LLVM
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:
Expand All @@ -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

Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker-image-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docker/centos/stream/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docker/centos/stream/Dockerfile.autotools
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 3 additions & 1 deletion docker/debian/Dockerfile
Original file line number Diff line number Diff line change
@@ -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

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

## Arguments
ARG debian_version
ARG libiniparser_version
ARG libmapnik_version
ARG runner_additional_packages

Expand All @@ -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 \
Expand Down
4 changes: 3 additions & 1 deletion docker/debian/Dockerfile.autotools
Original file line number Diff line number Diff line change
@@ -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

Expand Down Expand Up @@ -45,6 +46,7 @@ FROM debian:${debian_version} AS runner

## Arguments
ARG debian_version
ARG libiniparser_version
ARG libmapnik_version
ARG runner_additional_packages

Expand All @@ -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
Expand Down
Loading
Loading