Skip to content

Commit 69e012e

Browse files
authored
Update from Ubuntu 18 (gcc-6, clang-6) to Ubuntu 20 (gcc-7, clang-6) [AP-3178] (#1473)
# Description @swift-nav/algint-team This PR updates the C stages in the CI from relying on Ubuntu 18 (gcc-6, clang-6) to Ubuntu 20 (gcc-7, clang-6). Ubuntu 18 is EOL since May 2023. Recently, we observed issues, e.g. in GitHub Actions due to old versions of GLIBC in Ubuntu 18 jobs. We decided to not further invest time and energy in maintaining these old pipelines, because: - No customer directly relies on gcc-6. - We are planning to update our codebase to C++17, which requires at least gcc-8 (or 7 without CTAD). - If we want to have full coverage for all customer required toolchains, that is a different topic and an additional effort. Currently, that is not done for dependency repositories like `libsbp`. - To still have a certain confidence that gcc versions down to 7 are supported, this PR updates to Ubuntu 20, which is still maintained and offers gcc 7 in its apt repositories. # API compatibility Does this change introduce a API compatibility risk? No, there are no changes to the code. ## API compatibility plan If the above is "Yes", please detail the compatibility (or migration) plan: <!-- Provide a short explanation plan here --> # JIRA Reference https://swift-nav.atlassian.net/browse/AP-3178
1 parent 5bb6d5a commit 69e012e

File tree

1 file changed

+16
-24
lines changed

1 file changed

+16
-24
lines changed

.github/workflows/c.yaml

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -12,28 +12,25 @@ on:
1212
- "c/**"
1313
- .github/workflows/c.yaml
1414
jobs:
15-
1615
ubuntu-lts:
17-
1816
strategy:
1917
matrix:
20-
build_type: [ "Debug", "Release" ]
21-
compiler: [
22-
{ c: "gcc-6", cxx: "g++-6", package: "gcc-6 g++-6" },
23-
{ c: "clang-6.0", cxx: "clang++-6.0", package: "clang-6.0" }
24-
]
25-
build_shared_libraries: [ true, false ]
26-
exclude: [
27-
{ build_type: "Debug", compiler: { c: "gcc-6", cxx: "g++-6" }, build_shared_libraries: false }
28-
]
29-
30-
name: "Ubuntu 18.04 (Build: ${{ matrix.build_type }}, Compilers: ${{ matrix.compiler.c }}/${{ matrix.compiler.cxx }}, Shared Library: ${{ matrix.build_shared_libraries }})"
31-
18+
build_type: ["Debug", "Release"]
19+
compiler:
20+
[
21+
{ c: "gcc-7", cxx: "g++-7", package: "gcc-7 g++-7" },
22+
{ c: "clang-6.0", cxx: "clang++-6.0", package: "clang-6.0" },
23+
]
24+
build_shared_libraries: [true, false]
25+
26+
name: "Ubuntu 20.04 (Build: ${{ matrix.build_type }}, Compilers: ${{ matrix.compiler.c }}/${{ matrix.compiler.cxx }}, Shared Library: ${{ matrix.build_shared_libraries }})"
27+
28+
# We run on a docker image to avoid being affected from GitHub
29+
# decommissioning certain runners
3230
runs-on: ubuntu-latest
33-
container: ubuntu:18.04
31+
container: ubuntu:20.04
3432

3533
steps:
36-
3734
- name: Setup
3835
run: |
3936
apt-get -qq update
@@ -66,7 +63,7 @@ jobs:
6663
-DBUILD_EXAMPLES=true
6764
6865
- name: Build
69-
run: cmake --build build --parallel
66+
run: cmake --build build --parallel
7067

7168
- name: Example
7269
run: cmake --build build --parallel --target examples
@@ -114,7 +111,6 @@ jobs:
114111
cmake -S c/test_package -B c/test_package/build -DCMAKE_PREFIX_PATH="${{ github.workspace }}/install"
115112
cmake --build c/test_package/build
116113
117-
118114
big-endian:
119115
name: Test Big Endian
120116
runs-on: ubuntu-20.04
@@ -157,7 +153,6 @@ jobs:
157153
run: |
158154
bazel test //...
159155
160-
161156
asan:
162157
name: ASAN
163158
runs-on: ubuntu-20.04
@@ -178,7 +173,6 @@ jobs:
178173
run: |
179174
bazel test --config=asan //...
180175
181-
182176
ubsan:
183177
name: UBSAN
184178
runs-on: ubuntu-20.04
@@ -199,12 +193,11 @@ jobs:
199193
run: |
200194
bazel test --config=ubsan //...
201195
202-
203196
windows-2019:
204197
strategy:
205198
matrix:
206-
generator: [ "MinGW Makefiles", "Visual Studio 16 2019" ]
207-
build_shared_libraries: [ true, false ]
199+
generator: ["MinGW Makefiles", "Visual Studio 16 2019"]
200+
build_shared_libraries: [true, false]
208201
name: "Windows 2019 (Generator: ${{ matrix.generator }}, Shared Library: ${{ matrix.build_shared_libraries }})"
209202
runs-on: windows-2019
210203
steps:
@@ -239,4 +232,3 @@ jobs:
239232
run: |
240233
cmake -G "${{ matrix.generator }}" -S c/test_package -B c/test_package/build -DCMAKE_PREFIX_PATH="${{ github.workspace }}/install"
241234
cmake --build c/test_package/build
242-

0 commit comments

Comments
 (0)