Remove vestiges of SparseHash support #315
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [ push, pull_request ] | |
jobs: | |
linux: | |
runs-on: ubuntu-latest | |
timeout-minutes: 40 | |
strategy: | |
fail-fast: false | |
matrix: | |
image: | |
- "ubuntu:20.04" # gcc 9.3.0, clang 10.0.0, cmake 3.16.3 | |
- "ubuntu:22.04" # gcc 12.2.0, clang 15.0.7, cmake 3.24.2 | |
- "ubuntu:24.04" # gcc 14.2.0, clang 18.1.3, cmake 3.28.3 | |
- "debian:bullseye" # gcc 10.2.1, clang 11.0.1, cmake 3.18.4 | |
- "debian:bookworm" # gcc 12.2.0, clang 15.0.6, cmake 3.25.1 | |
- "debian:testing" | |
- "debian:experimental" | |
- "fedora:37" | |
- "fedora:38" | |
- "fedora:39" | |
- "fedora:40" | |
- "fedora:41" | |
build_type: [Dev] | |
cpp_compiler: [g++] | |
cpp_version: [c++14] | |
include: | |
- image: "ubuntu:22.04" | |
CXXFLAGS: -Wno-stringop-overread | |
- image: "ubuntu:24.04" | |
CXXFLAGS: -Wno-stringop-overread -Wno-dangling-reference | |
- image: "debian:bullseye" | |
cpp_version: c++17 | |
- image: "debian:bullseye" | |
cpp_version: c++20 | |
- image: "debian:bullseye" | |
c_compiler: clang | |
cpp_compiler: clang++ | |
- image: "debian:bullseye" | |
c_compiler: clang | |
cpp_compiler: clang++ | |
cpp_version: c++17 | |
- image: "debian:bullseye" | |
c_compiler: clang | |
cpp_compiler: clang++ | |
cpp_version: c++20 | |
- image: "debian:bullseye" | |
build_type: RelWithDebInfo | |
- image: "debian:bullseye" | |
c_compiler: clang | |
cpp_compiler: clang++ | |
CXXFLAGS: -fsanitize=address,undefined -fno-sanitize-recover=all -fno-omit-frame-pointer | |
LDFLAGS: -fsanitize=address,undefined | |
- image: "debian:bookworm" | |
CXXFLAGS: -Wno-stringop-overread | |
- image: "debian:bookworm" | |
cpp_version: c++17 | |
CXXFLAGS: -Wno-stringop-overread | |
- image: "debian:bookworm" | |
cpp_version: c++20 | |
CXXFLAGS: -Wno-stringop-overread | |
- image: "debian:bookworm" | |
c_compiler: clang | |
cpp_compiler: clang++ | |
- image: "debian:bookworm" | |
c_compiler: clang | |
cpp_compiler: clang++ | |
cpp_version: c++17 | |
- image: "debian:bookworm" | |
c_compiler: clang | |
cpp_compiler: clang++ | |
cpp_version: c++20 | |
- image: "debian:bookworm" | |
build_type: RelWithDebInfo | |
CXXFLAGS: -Wno-stringop-overread | |
- image: "debian:bookworm" | |
c_compiler: clang | |
cpp_compiler: clang++ | |
CXXFLAGS: -fsanitize=address,undefined -fno-sanitize-recover=all -fno-omit-frame-pointer | |
LDFLAGS: -fsanitize=address,undefined | |
- image: "debian:testing" | |
CXXFLAGS: -Wno-stringop-overread -Wno-dangling-reference | |
- image: "debian:testing" | |
c_compiler: clang | |
cpp_compiler: clang++ | |
- image: "debian:experimental" | |
CXXFLAGS: -Wno-stringop-overread -Wno-dangling-reference | |
- image: "debian:experimental" | |
c_compiler: clang | |
cpp_compiler: clang++ | |
- image: "fedora:37" | |
CXXFLAGS: -Wno-stringop-overread | |
- image: "fedora:38" | |
CXXFLAGS: -Wno-stringop-overread -Wno-dangling-reference | |
- image: "fedora:39" | |
CXXFLAGS: -Wno-stringop-overread -Wno-dangling-reference | |
- image: "fedora:40" | |
CXXFLAGS: -Wno-stringop-overread -Wno-dangling-reference | |
- image: "fedora:41" | |
CXXFLAGS: -Wno-stringop-overread -Wno-dangling-reference | |
container: | |
image: ${{ matrix.image }} | |
env: | |
LANG: en_US.UTF-8 | |
BUILD_TYPE: ${{ matrix.build_type }} | |
CC: ${{ matrix.c_compiler }} | |
CXX: ${{ matrix.cpp_compiler }} | |
CXXFLAGS: ${{ matrix.CXXFLAGS }} | |
LDFLAGS: ${{ matrix.LDFLAGS }} | |
CPP_VERSION: ${{ matrix.cpp_version }} | |
APT_LISTCHANGES_FRONTEND: none | |
DEBIAN_FRONTEND: noninteractive | |
steps: | |
- name: Prepare container (apt) | |
shell: bash | |
if: startsWith(matrix.image, 'debian:') || startsWith(matrix.image, 'ubuntu:') | |
run: | | |
apt-get update -qq | |
apt-get install -yq \ | |
clang \ | |
cmake \ | |
doxygen \ | |
g++ \ | |
git \ | |
graphviz \ | |
libboost-dev \ | |
libbz2-dev \ | |
libexpat1-dev \ | |
libgdal-dev \ | |
libgeos++-dev \ | |
liblz4-dev \ | |
libsparsehash-dev \ | |
make \ | |
ruby \ | |
ruby-json \ | |
spatialite-bin \ | |
zlib1g-dev | |
- name: Install compiler | |
shell: bash | |
if: matrix.cpp_compiler == 'clang++-14' | |
run: apt-get install -yq clang-14 | |
- name: Prepare container (dnf) | |
shell: bash | |
if: startsWith(matrix.image, 'fedora:') | |
run: | | |
dnf install --quiet --assumeyes \ | |
boost-devel \ | |
bzip2-devel \ | |
cmake \ | |
doxygen \ | |
expat-devel \ | |
gcc-c++ \ | |
gdal-devel \ | |
gdalcpp-static \ | |
geos-devel \ | |
git \ | |
graphviz \ | |
lz4-devel \ | |
make \ | |
ruby \ | |
rubygem-json \ | |
sparsehash-devel \ | |
spatialite-tools \ | |
zlib-devel | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: ./.github/actions/install-protozero | |
- uses: ./.github/actions/cmake | |
- uses: ./.github/actions/build | |
- uses: ./.github/actions/ctest | |
ubuntu-latest: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
env: | |
CC: clang-18 | |
CXX: clang++-18 | |
BUILD_TYPE: Dev | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: ./.github/actions/install-ubuntu | |
- uses: ./.github/actions/install-protozero | |
- uses: ./.github/actions/cmake | |
- uses: ./.github/actions/build | |
- uses: ./.github/actions/ctest | |
macos: | |
timeout-minutes: 60 | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- macos-14 | |
- macos-15 | |
build_type: [Dev] | |
include: | |
- os: macos-14 | |
build_type: Release | |
runs-on: ${{ matrix.os }} | |
env: | |
CC: clang | |
CXX: clang++ | |
BUILD_TYPE: ${{ matrix.build_type }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: ./.github/actions/install-macos | |
- uses: ./.github/actions/install-protozero | |
- uses: ./.github/actions/cmake | |
- uses: ./.github/actions/build | |
- uses: ./.github/actions/ctest | |
windows-minimal: | |
timeout-minutes: 40 | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- windows-2019 | |
- windows-2022 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: ./.github/actions/install-windows | |
- uses: ./.github/actions/install-protozero | |
- uses: ./.github/actions/cmake-windows | |
- uses: ./.github/actions/build | |
- uses: ./.github/actions/ctest | |
windows-2019-full: | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: ./.github/actions/install-windows | |
- name: Install extra packages | |
run: vcpkg install geos:x64-windows gdal:x64-windows | |
shell: bash | |
- uses: ./.github/actions/install-protozero | |
- uses: ./.github/actions/cmake-windows | |
- uses: ./.github/actions/build | |
- uses: ./.github/actions/ctest |