Skip to content

Commit dba7260

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

File tree

1 file changed

+25
-10
lines changed

1 file changed

+25
-10
lines changed

.github/workflows/build_test.yml

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -70,16 +70,39 @@ 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+
- { cc_compiler: gcc-12, cxx_compiler: g++-12 }
97+
7698
container:
7799
image: rostooling/setup-ros-docker:${{ matrix.docker_image }}
78100
steps:
79101
- name: Install dependencies
80102
run: |
81103
sudo apt-get update
82104
sudo apt-get -y install policykit-1 libgtk2.0-common screen uml-utilities libc6-dev libicu-dev gcc python3 python3-pip
105+
sudo apt-get -y install ${{ matrix.cc_compiler }} ${{ matrix.cxx_compiler }}
83106
mkdir renode_portable
84107
wget https://builds.renode.io/renode-latest.linux-portable.tar.gz
85108
tar xf renode-latest.linux-portable.tar.gz -C renode_portable --strip-components=1
@@ -96,15 +119,7 @@ jobs:
96119
package-name: usb_cam
97120
target-ros2-distro: ${{ matrix.ros_distro }}
98121
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
122+
extra-cmake-args: -DCMAKE_C_COMPILER=${{ matrix.cc_compiler }} -DCMAKE_CXX_COMPILER=${{ matrix.cxx_compiler }}
108123
# Compile again, this time enabling integration tests
109124
- name: Build integration tests
110125
shell: bash

0 commit comments

Comments
 (0)