@@ -70,16 +70,35 @@ jobs:
7070    strategy :
7171      fail-fast : false 
7272      matrix :
73+         cxx_compiler :
74+           - g++-14 
75+           - clang-18 
7376        ros_distro : ${{ fromJson(needs.get_ros_distros.outputs.series) }} 
7477        include :
75-           ${{ fromJson(needs.get_ros_distros.outputs.matrix) }} 
78+           - ${{ fromJson(needs.get_ros_distros.outputs.matrix) }} 
79+           - cxx_compiler : g++-12 
80+             cc_compiler : gcc-12 
81+           - cxx_compiler : g++-14 
82+             cc_compiler : gcc-14 
83+           - cxx_compiler : clang-14 
84+             cc_compiler : clang-14 
85+           - cxx_compiler : clang-16 
86+             cc_compiler : clang-16 
87+           - cxx_compiler : clang-18 
88+             cc_compiler : clang-18 
89+         exclude :
90+           - { ros_distro: humble, cxx_compiler: g++-14 } 
91+           - { ros_distro: humble, cxx_compiler: clang-16 } 
92+           - { ros_distro: humble, cxx_compiler: clang-18 } 
93+ 
7694    container :
7795      image : rostooling/setup-ros-docker:${{ matrix.docker_image }} 
7896    steps :
7997      - name : Install dependencies 
8098        run : | 
8199          sudo apt-get update 
82100          sudo apt-get -y install policykit-1 libgtk2.0-common screen uml-utilities libc6-dev libicu-dev gcc python3 python3-pip 
101+           sudo apt-get -y install ${{ matrix.compiler }} 
83102          mkdir renode_portable 
84103          wget https://builds.renode.io/renode-latest.linux-portable.tar.gz 
85104          tar xf  renode-latest.linux-portable.tar.gz -C renode_portable --strip-components=1 
@@ -96,15 +115,7 @@ jobs:
96115          package-name : usb_cam 
97116          target-ros2-distro : ${{ matrix.ros_distro }} 
98117          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 
118+           extra-cmake-args : -DCMAKE_C_COMPILER=/usr/bin/${{ matrix.cc_compiler }} -DCMAKE_CXX_COMPILER=/usr/bin/${{ matrix.cxx_compiler }} 
108119      #  Compile again, this time enabling integration tests
109120      - name : Build integration tests 
110121        shell : bash 
0 commit comments