Skip to content

Commit dc84938

Browse files
committed
Add compiler versions to CI matrix
Relates to #349 Signed-off-by: Evan Flynn <[email protected]>
1 parent 614c8e3 commit dc84938

File tree

1 file changed

+27
-10
lines changed

1 file changed

+27
-10
lines changed

.github/workflows/build_test.yml

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -70,16 +70,41 @@ jobs:
7070
strategy:
7171
fail-fast: false
7272
matrix:
73+
cxx_compiler:
74+
- g++-10
75+
- g++-12
76+
- g++-14
77+
- clang-14
78+
- clang-16
79+
- clang-18
7380
ros_distro: ${{ fromJson(needs.get_ros_distros.outputs.series) }}
7481
include:
75-
${{ fromJson(needs.get_ros_distros.outputs.matrix) }}
82+
- ${{ fromJson(needs.get_ros_distros.outputs.matrix) }}
83+
- cxx_compiler: g++-10
84+
cc_compiler: gcc-10
85+
- cxx_compiler: g++-12
86+
cc_compiler: gcc-12
87+
- cxx_compiler: g++-14
88+
cc_compiler: gcc-14
89+
- cxx_compiler: clang-14
90+
cc_compiler: clang-14
91+
- cxx_compiler: clang-16
92+
cc_compiler: clang-16
93+
- cxx_compiler: clang-18
94+
cc_compiler: clang-18
95+
exclude:
96+
- { ros_distro: humble, compiler: g++-14 }
97+
- { ros_distro: humble, compiler: clang-16 }
98+
- { ros_distro: humble, compiler: clang-18 }
99+
76100
container:
77101
image: rostooling/setup-ros-docker:${{ matrix.docker_image }}
78102
steps:
79103
- name: Install dependencies
80104
run: |
81105
sudo apt-get update
82106
sudo apt-get -y install policykit-1 libgtk2.0-common screen uml-utilities libc6-dev libicu-dev gcc python3 python3-pip
107+
sudo apt-get -y install ${{ matrix.compiler }}
83108
mkdir renode_portable
84109
wget https://builds.renode.io/renode-latest.linux-portable.tar.gz
85110
tar xf renode-latest.linux-portable.tar.gz -C renode_portable --strip-components=1
@@ -96,15 +121,7 @@ jobs:
96121
package-name: usb_cam
97122
target-ros2-distro: ${{ matrix.ros_distro }}
98123
vcs-repo-file-url: ""
99-
colcon-defaults: |
100-
{
101-
"build": {
102-
"mixin": ["coverage-gcc"]
103-
}
104-
}
105-
# If possible, pin the repository in the workflow to a specific commit to avoid
106-
# changes in colcon-mixin-repository from breaking your tests.
107-
colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/1ddb69bedfd1f04c2f000e95452f7c24a4d6176b/index.yaml
124+
extra-cmake-args: -DCMAKE_C_COMPILER=${{ matrix.compiler }} -DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
108125
# Compile again, this time enabling integration tests
109126
- name: Build integration tests
110127
shell: bash

0 commit comments

Comments
 (0)