Skip to content

Commit 9d08ea5

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

File tree

1 file changed

+24
-10
lines changed

1 file changed

+24
-10
lines changed

.github/workflows/build_test.yml

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -70,16 +70,38 @@ jobs:
7070
strategy:
7171
fail-fast: false
7272
matrix:
73+
cxx_compiler:
74+
- g++12
75+
- g++-14
76+
- clang-14
77+
- clang-16
78+
- clang-18
7379
ros_distro: ${{ fromJson(needs.get_ros_distros.outputs.series) }}
7480
include:
75-
${{ fromJson(needs.get_ros_distros.outputs.matrix) }}
81+
- ${{ fromJson(needs.get_ros_distros.outputs.matrix) }}
82+
- cxx_compiler: g++-12
83+
cc_compiler: gcc-12
84+
- cxx_compiler: g++-14
85+
cc_compiler: gcc-14
86+
- cxx_compiler: clang-14
87+
cc_compiler: clang-14
88+
- cxx_compiler: clang-16
89+
cc_compiler: clang-16
90+
- cxx_compiler: clang-18
91+
cc_compiler: clang-18
92+
exclude:
93+
- { ros_distro: humble, cxx_compiler: g++-14 }
94+
- { ros_distro: humble, cxx_compiler: clang-16 }
95+
- { ros_distro: humble, cxx_compiler: clang-18 }
96+
7697
container:
7798
image: rostooling/setup-ros-docker:${{ matrix.docker_image }}
7899
steps:
79100
- name: Install dependencies
80101
run: |
81102
sudo apt-get update
82103
sudo apt-get -y install policykit-1 libgtk2.0-common screen uml-utilities libc6-dev libicu-dev gcc python3 python3-pip
104+
sudo apt-get -y install ${{ matrix.cc_compiler }} ${{ matrix.cxx_compiler }}
83105
mkdir renode_portable
84106
wget https://builds.renode.io/renode-latest.linux-portable.tar.gz
85107
tar xf renode-latest.linux-portable.tar.gz -C renode_portable --strip-components=1
@@ -96,15 +118,7 @@ jobs:
96118
package-name: usb_cam
97119
target-ros2-distro: ${{ matrix.ros_distro }}
98120
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
121+
extra-cmake-args: -DCMAKE_C_COMPILER=${{ matrix.cc_compiler }} -DCMAKE_CXX_COMPILER=${{ matrix.cxx_compiler }}
108122
# Compile again, this time enabling integration tests
109123
- name: Build integration tests
110124
shell: bash

0 commit comments

Comments
 (0)