Skip to content

Commit 8b7ff4f

Browse files
committed
Github action: Modernize CI
1 parent c011859 commit 8b7ff4f

File tree

2 files changed

+70
-121
lines changed

2 files changed

+70
-121
lines changed

.github/workflows/ci.yml

Lines changed: 64 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -5,126 +5,77 @@ on: [ push, pull_request ]
55
jobs:
66
linux:
77
runs-on: ubuntu-latest
8+
timeout-minutes: 30
89
strategy:
910
fail-fast: false
1011
matrix:
11-
name: [Ubuntu-20, Ubuntu-22, Ubuntu-24, Debian-10, Debian-11, Debian-12, Debian-Testing, Debian-Experimental, Fedora-37, Fedora-38, Fedora-39, Fedora-40]
12+
image:
13+
- "ubuntu:22.04" # gcc 12.2.0, clang 15.0.7, cmake 3.24.2
14+
- "ubuntu:24.04" # gcc 14.2.0, clang 18.1.3, cmake 3.28.3
15+
- "debian:bookworm" # gcc 12.2.0, clang 15.0.6, cmake 3.25.1
16+
- "debian:trixie" # gcc 14.2.0, clang 19.1.7, cmake 3.31.6
17+
- "debian:testing"
18+
- "debian:experimental"
19+
- "fedora:40"
20+
- "fedora:41"
21+
- "fedora:42"
22+
- "fedora:43"
1223
build_type: [Dev]
1324
cpp_compiler: [g++]
1425
cpp_version: [c++14]
1526
include:
16-
- name: Ubuntu-20
17-
# Uses gcc 9.3.0, clang 10.0.0, cmake 3.16.3
18-
image: "ubuntu:20.04"
19-
ubuntu: 20
20-
- name: Ubuntu-22
21-
# Uses gcc 12.2.0, clang 15.0.7, cmake 3.24.2
22-
image: "ubuntu:22.04"
23-
ubuntu: 22
24-
CXXFLAGS: -Wno-stringop-overread
25-
- name: Ubuntu-24
26-
image: "ubuntu:24.04"
27-
ubuntu: 24
28-
CXXFLAGS: -Wno-stringop-overread
29-
- name: Debian-10
30-
# Uses gcc 8.3.0, clang 7.0.1, cmake 3.13.4
31-
image: "debian:buster"
32-
- name: Debian-11
33-
# Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
34-
image: "debian:bullseye"
35-
- name: Debian-11
36-
image: "debian:bullseye"
37-
cpp_version: c++17
38-
- name: Debian-11
39-
image: "debian:bullseye"
27+
- image: "ubuntu:22.04"
28+
CXXFLAGS: -Wno-stringop-overread -Wno-array-bounds
29+
- image: "ubuntu:24.04"
30+
CXXFLAGS: -Wno-stringop-overread -Wno-array-bounds
31+
- image: "debian:bookworm"
4032
cpp_version: c++20
41-
- name: Debian-11
42-
image: "debian:bullseye"
33+
- image: "debian:bookworm"
4334
c_compiler: clang
4435
cpp_compiler: clang++
45-
- name: Debian-11
46-
image: "debian:bullseye"
47-
c_compiler: clang
48-
cpp_compiler: clang++
49-
cpp_version: c++17
50-
- name: Debian-11
51-
image: "debian:bullseye"
36+
- image: "debian:bookworm"
5237
c_compiler: clang
5338
cpp_compiler: clang++
5439
cpp_version: c++20
55-
- name: Debian-11
56-
image: "debian:bullseye"
40+
- image: "debian:bookworm"
5741
build_type: RelWithDebInfo
58-
- name: Debian-11
59-
image: "debian:bullseye"
60-
c_compiler: clang
61-
cpp_compiler: clang++
62-
CXXFLAGS: -fsanitize=address,undefined,integer -fno-sanitize-recover=all -fno-omit-frame-pointer
63-
LDFLAGS: -fsanitize=address,undefined,integer
64-
- name: Debian-12
65-
# Uses gcc 12.2.0, clang 15.0.6, cmake 3.25.1
66-
image: "debian:bookworm"
67-
CXXFLAGS: -Wno-stringop-overread
68-
- name: Debian-12
69-
image: "debian:bookworm"
70-
cpp_version: c++17
71-
CXXFLAGS: -Wno-stringop-overread
72-
- name: Debian-12
73-
image: "debian:bookworm"
42+
- image: "debian:trixie"
43+
CXXFLAGS: -Wno-stringop-overread -Wno-array-bounds
44+
- image: "debian:trixie"
7445
cpp_version: c++20
75-
CXXFLAGS: -Wno-stringop-overread
76-
- name: Debian-12
77-
image: "debian:bookworm"
46+
CXXFLAGS: -Wno-stringop-overread -Wno-array-bounds
47+
- image: "debian:trixie"
7848
c_compiler: clang
7949
cpp_compiler: clang++
80-
- name: Debian-12
81-
image: "debian:bookworm"
82-
c_compiler: clang
83-
cpp_compiler: clang++
84-
cpp_version: c++17
85-
- name: Debian-12
86-
image: "debian:bookworm"
50+
- image: "debian:trixie"
8751
c_compiler: clang
8852
cpp_compiler: clang++
8953
cpp_version: c++20
90-
- name: Debian-12
91-
image: "debian:bookworm"
54+
- image: "debian:trixie"
9255
build_type: RelWithDebInfo
93-
CXXFLAGS: -Wno-stringop-overread
94-
- name: Debian-12
95-
image: "debian:bookworm"
96-
c_compiler: clang
97-
cpp_compiler: clang++
98-
CXXFLAGS: -fsanitize=address,undefined,integer -fno-sanitize-recover=all -fno-omit-frame-pointer
99-
LDFLAGS: -fsanitize=address,undefined,integer
100-
- name: Debian-Testing
101-
image: "debian:testing"
102-
CXXFLAGS: -Wno-stringop-overread
103-
- name: Debian-Testing
104-
image: "debian:testing"
56+
CXXFLAGS: -Wno-stringop-overread -Wno-array-bounds
57+
- image: "debian:testing"
58+
CXXFLAGS: -Wno-stringop-overread -Wno-array-bounds -Wno-maybe-uninitialized
59+
- image: "debian:testing"
10560
c_compiler: clang
10661
cpp_compiler: clang++
107-
- name: Debian-Experimental
108-
image: "debian:experimental"
109-
CXXFLAGS: -Wno-stringop-overread
110-
- name: Debian-Experimental
111-
image: "debian:experimental"
62+
- image: "debian:experimental"
63+
CXXFLAGS: -Wno-stringop-overread -Wno-array-bounds -Wno-maybe-uninitialized
64+
- image: "debian:experimental"
11265
c_compiler: clang
11366
cpp_compiler: clang++
114-
- name: Fedora-37
115-
# Uses gcc 12.3.1, clang 15.0.7, cmake 3.26.4
116-
image: "fedora:37"
117-
CXXFLAGS: -Wno-stringop-overread
118-
- name: Fedora-38
119-
# Uses gcc 13.0.1, clang 16.0.5, cmake 3.26.4
120-
image: "fedora:38"
121-
CXXFLAGS: -Wno-stringop-overread
122-
- name: Fedora-39
123-
image: "fedora:39"
124-
CXXFLAGS: -Wno-stringop-overread
125-
- name: Fedora-40
126-
image: "fedora:40"
127-
CXXFLAGS: -Wno-stringop-overread
67+
- image: "fedora:40"
68+
CMAKE_OPTS: -DRUN_TESTS_WITH_BINARY_COMPARE=OFF
69+
CXXFLAGS: -Wno-stringop-overread -Wno-array-bounds
70+
- image: "fedora:41"
71+
CMAKE_OPTS: -DRUN_TESTS_WITH_BINARY_COMPARE=OFF
72+
CXXFLAGS: -Wno-stringop-overread -Wno-array-bounds
73+
- image: "fedora:42"
74+
CMAKE_OPTS: -DRUN_TESTS_WITH_BINARY_COMPARE=OFF
75+
CXXFLAGS: -Wno-stringop-overread -Wno-array-bounds -Wno-maybe-uninitialized
76+
- image: "fedora:43"
77+
CMAKE_OPTS: -DRUN_TESTS_WITH_BINARY_COMPARE=OFF
78+
CXXFLAGS: -Wno-stringop-overread -Wno-array-bounds -Wno-maybe-uninitialized
12879
container:
12980
image: ${{ matrix.image }}
13081
env:
@@ -157,27 +108,23 @@ jobs:
157108
make \
158109
spatialite-bin \
159110
zlib1g-dev
160-
- name: Install compiler
161-
shell: bash
162-
if: matrix.cpp_compiler == 'clang++-14'
163-
run: apt-get install -yq clang-14
164111
- name: Prepare container (dnf)
165112
shell: bash
166113
if: startsWith(matrix.image, 'fedora:')
167114
run: |
168115
dnf install --quiet --assumeyes \
169-
bzip2-devel \
170-
cmake \
171-
expat-devel \
172-
gcc-c++ \
173-
gdal-devel \
174-
geos-devel \
175-
git \
176-
lz4-devel \
177-
make \
178-
proj-devel \
179-
spatialite-tools \
180-
zlib-devel
116+
bzip2-devel \
117+
cmake \
118+
expat-devel \
119+
gcc-c++ \
120+
gdal-devel \
121+
geos-devel \
122+
git \
123+
lz4-devel \
124+
make \
125+
proj-devel \
126+
spatialite-tools \
127+
zlib-devel
181128
- uses: actions/checkout@v4
182129
- uses: ./.github/actions/install-from-git
183130
- uses: ./.github/actions/cmake
@@ -186,6 +133,7 @@ jobs:
186133

187134
ubuntu-latest:
188135
runs-on: ubuntu-24.04
136+
timeout-minutes: 30
189137
env:
190138
CC: clang-18
191139
CXX: clang++-18
@@ -199,17 +147,18 @@ jobs:
199147
- uses: ./.github/actions/ctest
200148

201149
macos:
150+
runs-on: ${{ matrix.os }}
151+
timeout-minutes: 30
202152
strategy:
203153
fail-fast: false
204154
matrix:
205155
os:
206-
- "macos-14"
207-
- "macos-15"
156+
- macos-14
157+
- macos-15
208158
build_type: [Dev]
209159
include:
210-
- os: "macos-14"
160+
- os: macos-15
211161
build_type: Release
212-
runs-on: ${{ matrix.os }}
213162
env:
214163
CC: clang
215164
CXX: clang++

.github/workflows/clang-tidy.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ jobs:
88
strategy:
99
fail-fast: false
1010
matrix:
11-
image: ["debian:bookworm", "debian:testing", "debian:experimental"]
11+
image: ["debian:trixie", "debian:testing"]
1212
include:
13-
- image: "debian:bookworm"
14-
clang: 15
15-
- image: "debian:testing"
13+
- image: "debian:trixie"
1614
clang: 19
17-
- image: "debian:experimental"
18-
clang: 20
15+
- image: "debian:testing"
16+
clang: 21
17+
# - image: "debian:experimental"
18+
# clang: 21
1919
container:
2020
image: ${{ matrix.image }}
2121
env:

0 commit comments

Comments
 (0)