-
Notifications
You must be signed in to change notification settings - Fork 417
153 lines (147 loc) · 4.8 KB
/
main.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
name: CI
on: [push, pull_request, workflow_dispatch]
env:
CXXFLAGS: "-Wall -Wextra -Wno-unused-parameter"
jobs:
build:
name: Build
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, ubuntu-22.04]
orocos_build_type: [Debug, Release]
compiler: [gcc, clang]
python_version: ['3.8', '3.10']
exclude:
- os: ubuntu-20.04
python_version: '3.10'
- os: ubuntu-22.04
python_version: '3.8'
include:
- os: ubuntu-20.04
orocos_build_type: Release
compiler: gcc
python_version: '3.9'
- os: ubuntu-20.04
orocos_build_type: Release
compiler: gcc
python_version: '3.10'
- os: ubuntu-20.04
orocos_build_type: Release
compiler: gcc
python_version: '3.11'
- os: ubuntu-22.04
orocos_build_type: Release
compiler: gcc
python_version: '3.11'
env:
CC: ${{ matrix.compiler }}
OROCOS_BUILD_TYPE: ${{ matrix.orocos_build_type }}
ROS_PYTHON_VERSION: ${{ matrix.python_version }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python_version }}
- name: Install
run: |
sudo apt-get install libeigen3-dev libcppunit-dev
pip install psutil future
- name: Build orocos_kdl
run: |
cd orocos_kdl
mkdir build
cd build
cmake -DENABLE_TESTS:BOOL=ON -DCMAKE_BUILD_TYPE=${OROCOS_KDL_BUILD_TYPE} ./..
make
sudo make install
- name: Build PyKDL
run: |
cd python_orocos_kdl
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=${OROCOS_KDL_BUILD_TYPE} ./..
make
sudo make install
- name: ldconfig
run: sudo ldconfig
- name: Test orocos_kdl
run: |
cd orocos_kdl/build
make check
- name: Test PyKDL
run: |
cd python_orocos_kdl
python_version_short=$(python -c "import sys; print('{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
export PYTHONPATH=/usr/local/lib/python${python_version_short}/dist-packages${PYTHONPATH:+:${PYTHONPATH}}
python tests/PyKDLtest.py
build_openbsd:
name: Build OpenBSD
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
orocos_build_type: [Release]
compiler: [gcc, clang]
env:
CC: ${{ matrix.compiler }}
OROCOS_BUILD_TYPE: ${{ matrix.orocos_build_type }}
ROS_PYTHON_VERSION: 3
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Script
uses: vmactions/openbsd-vm@v1
with:
prepare: |
apt-get install libeigen3-dev libcppunit-dev python3-pip
pip install psutil future
run: |
cd orocos_kdl
mkdir build
cd build
cmake -DENABLE_TESTS:BOOL=ON -DCMAKE_BUILD_TYPE=${OROCOS_KDL_BUILD_TYPE} ./..
make
make install
cd ../..
cd python_orocos_kdl
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=${OROCOS_KDL_BUILD_TYPE} ./..
make
make install
cd ../..
ldconfig
cd orocos_kdl/build
make check
cd ../..
cd python_orocos_kdl
python_version_short=$(python -c "import sys; print('{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
export PYTHONPATH=/usr/local/lib/python${python_version_short}/dist-packages${PYTHONPATH:+:${PYTHONPATH}}
python tests/PyKDLtest.py
industrial_ci:
name: Industrial CI - ${{ matrix.env.ROS_DISTRO }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- env:
ROS_DISTRO: noetic
ROS_REPO: ros
ABICHECK_URL: github:orocos/orocos_kinematics_dynamics#release-1.5
ABICHECK_MERGE: false
branch: release-1.5
env: ${{ matrix.env }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
if: ${{ (github.event_name == 'push' && endsWith(github.ref, matrix.branch)) || (github.event_name == 'pull_request' && endsWith(github.base_ref, matrix.branch)) }}
- uses: ros-industrial/industrial_ci@master
env: ${{ matrix.env }}
if: ${{ (github.event_name == 'push' && endsWith(github.ref, matrix.branch)) || (github.event_name == 'pull_request' && endsWith(github.base_ref, matrix.branch)) }}