@@ -27,19 +27,21 @@ jobs:
27
27
28
28
build :
29
29
name : build (${{matrix.system.os}}, ${{matrix.robotology.yarp}}, ${{matrix.system.compiler.cc}})
30
- runs-on : ${{matrix.system.os}}
30
+ runs-on : ubuntu-latest
31
+ container :
32
+ image : ros:${{matrix.system.ros}}-ros-core
31
33
needs : maybe_skip
32
34
if : ${{needs.maybe_skip.outputs.should_skip != 'true'}}
33
35
34
36
strategy :
35
37
fail-fast : false
36
38
matrix :
37
39
system :
38
- - { os: ubuntu-22.04, compiler: { cc: gcc-11, cxx: g++-11 } }
40
+ - { os: ubuntu-22.04, ros: humble, compiler: { cc: gcc-11, cxx: g++-11, apt : g++-11 } }
39
41
# https://github.com/roboticslab-uc3m/questions-and-answers/issues/101
40
- - { os: ubuntu-22.04, compiler: { cc: clang-15, cxx: clang++-15 } }
41
- - { os: ubuntu-24.04, compiler: { cc: gcc-13, cxx: g++-13 } }
42
- - { os: ubuntu-24.04, compiler: { cc: clang-18, cxx: clang++-18 } }
42
+ - { os: ubuntu-22.04, ros: humble, compiler: { cc: clang-15, cxx: clang++-15, apt: clang -15 } }
43
+ - { os: ubuntu-24.04, ros: jazzy, compiler: { cc: gcc-13, cxx: g++-13, apt : g++-13 } }
44
+ - { os: ubuntu-24.04, ros: jazzy, compiler: { cc: clang-18, cxx: clang++-18, apt: clang -18 } }
43
45
robotology :
44
46
- { yarp: yarp-3.10, cmake: 3.19.x }
45
47
- { yarp: yarp-3.11, cmake: 3.19.x }
@@ -73,15 +75,14 @@ jobs:
73
75
path : .deps/kdl
74
76
75
77
- name : Check out SWIG
76
- if : ${{matrix.system.os == 'ubuntu-24.04'}}
77
78
uses : actions/checkout@v4
78
79
with :
79
80
repository : swig/swig
80
81
ref : v4.2.1
81
82
path : .deps/swig
82
83
83
84
- name : Install dependencies via apt
84
- run : sudo apt-get install -qq ccache libeigen3-dev googletest
85
+ run : apt-get update && apt-get install -qq ccache make ${{matrix.system.compiler.apt}} libeigen3-dev bison googletest
85
86
86
87
- name : Set up CMake
87
88
uses : jwlawson/actions-setup-cmake@v2
@@ -102,40 +103,41 @@ jobs:
102
103
run : |
103
104
cmake -S .deps/ycm -B .deps/ycm/build
104
105
cmake --build .deps/ycm/build
105
- sudo cmake --install .deps/ycm/build
106
+ cmake --install .deps/ycm/build
106
107
107
108
- name : Build YARP
108
109
run : |
109
110
cmake -S .deps/yarp -B .deps/yarp/build -DSKIP_ACE=ON -DYARP_DISABLE_VERSION_SOURCE=ON -DENABLE_yarpmod_fakeMotionControl=ON
110
111
cmake --build .deps/yarp/build
111
- sudo cmake --install .deps/yarp/build
112
+ cmake --install .deps/yarp/build
112
113
113
114
- name : Build Orocos KDL
114
115
run : |
115
116
cmake -S .deps/kdl/orocos_kdl -B .deps/kdl/orocos_kdl/build
116
117
cmake --build .deps/kdl/orocos_kdl/build
117
- sudo cmake --install .deps/kdl/orocos_kdl/build
118
+ cmake --install .deps/kdl/orocos_kdl/build
118
119
119
120
- name : Build SWIG
120
- if : ${{matrix.system.os == 'ubuntu-24.04'}}
121
121
run : |
122
- cmake -S .deps/swig -B .deps/swig/build
122
+ cmake -S .deps/swig -B .deps/swig/build -DWITH_PCRE=OFF
123
123
cmake --build .deps/swig/build
124
- sudo cmake --install .deps/swig/build
125
- sudo ln -s /usr/local/bin/swig /usr/local/bin/swig4.0 # shadows /usr/bin/swig4.0
124
+ cmake --install .deps/swig/build
125
+ ln -s /usr/local/bin/swig /usr/local/bin/swig4.0 # shadows /usr/bin/swig4.0
126
126
127
127
- name : Configure main project
128
- run : cmake -S . -B ./build -DCREATE_BINDINGS_PYTHON=ON -DENABLE_examples=ON
128
+ run : |
129
+ . /opt/ros/${{matrix.system.ros}}/setup.bash
130
+ cmake -S . -B ./build -DCREATE_BINDINGS_PYTHON=ON -DENABLE_examples=ON
129
131
130
132
- name : Compile main project
131
133
run : cmake --build ./build
132
134
133
135
- name : Install main project
134
- run : sudo cmake --install ./build && sudo ldconfig
136
+ run : cmake --install ./build && ldconfig
135
137
136
138
- name : Test main project
137
139
working-directory : build
138
140
run : ctest -V
139
141
140
142
- name : Uninstall main project
141
- run : sudo cmake --build ./build --target uninstall
143
+ run : cmake --build ./build --target uninstall
0 commit comments