-
Notifications
You must be signed in to change notification settings - Fork 81
173 lines (155 loc) · 7.47 KB
/
config.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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
on:
push:
branches:
- master
pull_request:
env:
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
DISPLAY: ':0.0'
jobs:
ros:
runs-on: ubuntu-latest
# continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
include:
- ROS_DISTRO: indigo
CONTAINER: jskrobotics/ros-ubuntu:14.04
ROS_PARALLEL_TEST_JOBS: "-j8"
# latest catkin_virtualenv with pip==21.0.1 is incompatible with python 2.x
# https://github.com/jsk-ros-pkg/jsk_3rdparty/pull/237
BEFORE_SCRIPT : "sudo pip install virtualenv==15.1.0 setuptools==44.1.1"
- ROS_DISTRO: kinetic
CONTAINER: ubuntu:16.04
ROS_PARALLEL_TEST_JOBS: "-j8"
- ROS_DISTRO: melodic
CONTAINER: ubuntu:18.04
ROS_PARALLEL_TEST_JOBS: "-j8"
- ROS_DISTRO: noetic
CONTAINER: ubuntu:20.04
ROS_PARALLEL_TEST_JOBS: "-j8"
- ROS_DISTRO: noetic
CONTAINER: ubuntu:20.04
ROS_PARALLEL_TEST_JOBS: "-j8"
TEST_PKGS: virtual_force_publisher # skip test
CATKIN_TOOLS_BUILD_OPTIONS: "--cmake-args -DCMAKE_CXX_FLAGS=-std=c++11 -- --summarize --no-status"
NOT_TEST_INSTALL: true
BEFORE_SCRIPT : "find $GITHUB_WORKSPACE -iname image_view2 -exec touch {}/CATKIN_IGNORE \\;"
container: ${{ matrix.CONTAINER }}
steps:
- name: Install latest git ( use sudo for ros-ubuntu )
run: |
(apt-get update && apt-get install -y sudo) || echo "OK"
sudo apt-get update && sudo apt-get install -y software-properties-common && sudo apt-get update && sudo add-apt-repository -y ppa:git-core/ppa && sudo apt-get update && sudo apt-get install -y git
- name: work around permission issue # https://github.com/actions/checkout/issues/760#issuecomment-1097501613
run: |
set -x
export USER=$(whoami)
if [ "${{ matrix.CONTAINER }}" = "jskrobotics/ros-ubuntu:14.04" ]; then
git config --global --add safe.directory $GITHUB_WORKSPACE || echo "OK" # Show 'could not lock config file /github/home/.gitconfig: Permission denied', but it is ok
sudo mkdir -p /__w/
sudo chmod 777 -R /__w/
sudo chown -R $USER $HOME
# sudo mkdir -p /home/runner/work/_temp/_github_workflow/
# sudo chown -R $USER $HOME /home/runner/work/_temp/_github_workflow/
# ls -al /home/runner/work/_temp/_github_workflow/
else
git config --global --add safe.directory $GITHUB_WORKSPACE
fi
- name: Chcekout
uses: actions/[email protected]
- name: Start X server
run: |
if [[ "${{ matrix.CONTAINER }}" =~ "jskrobotics/ros-ubuntu:14.04" ]]; then exit 0; fi
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections || echo "failing on ros-ubuntu is OK" # set non interactive tzdata https://stackoverflow.com/questions/8671308/non-interactive-method-for-dpkg-reconfigure-tzdata
sudo apt-get -y -qq install mesa-utils x11-xserver-utils xserver-xorg-video-dummy wget
export DISPLAY=:0
wget https://raw.githubusercontent.com/jsk-ros-pkg/jsk_travis/master/dummy.xorg.conf -O /tmp/dummy.xorg.conf
sudo Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile /tmp/xorg.log -config /tmp/dummy.xorg.conf $DISPLAY &
sleep 3 # wait x server up
export QT_X11_NO_MITSHM=1 # http://wiki.ros.org/docker/Tutorials/GUI
xhost +local:root
shell: bash
- name: Run jsk_travis
uses: jsk-ros-pkg/jsk_travis@master
with:
ROS_PARALLEL_JOBS : ${{ matrix.ROS_PARALLEL_JOBS }}
CATKIN_PARALLEL_JOBS : ${{ matrix.CATKIN_PARALLEL_JOBS }}
ROS_PARALLEL_TEST_JOBS : ${{ matrix.ROS_PARALLEL_TEST_JOBS }}
CATKIN_PARALLEL_TEST_JOBS : ${{ matrix.CATKIN_PARALLEL_TEST_JOBS }}
ROS_DISTRO : ${{ matrix.ROS_DISTRO }}
USE_DEB : ${{ matrix.USE_DEB }}
NOT_TEST_INSTALL : ${{ matrix.NOT_TEST_INSTALL }}
TEST_PKGS : ${{ matrix.TEST_PKGS }}
BEFORE_SCRIPT : ${{ matrix.BEFORE_SCRIPT }}
EXTRA_DEB : ${{ matrix.EXTRA_DEB }}
CATKIN_TOOLS_BUILD_OPTIONS: ${{ matrix.CATKIN_TOOLS_BUILD_OPTIONS }}
ubuntu:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- DISTRO: ubuntu:22.04
# - DISTRO: ubuntu:22.04
# CATKIN_OPTIONS: "--ignore-pkg image_view2"
# CMAKE_OPTIONS: "-DCMAKE_CXX_FLAGS=-std=c++11"
container: ${{ matrix.DISTRO }}
steps:
- name: Chcekout Source
uses: actions/[email protected]
- name: Install Buildtools
run: |
set -x
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
apt update -q
apt install -y -q -qq catkin git curl build-essential libboost-all-dev python3-pip python3-venv python3-rosdep2
apt install -y -q -qq ros-desktop-dev rosbash
apt install -y -q -qq libself-test-dev libpcl-ros-dev
apt install -y -q -qq ros-core-dev ros-robot-dev
pip install vcstool
rosdep update
- name: Setup rosinstall_generator
run: |
set -x
# install rosinstall_geneartor with --depend-type buildtool build, see https://github.com/ros-infrastructure/rosinstall_generator/pull/81
git clone https://github.com/k-okada/rosinstall_generator -b add_depend_type
cd rosinstall_generator
python3 ./setup.py install
- name: Setup Dependencies Workspace
run: |
set -x
# install dependencies
mkdir -p ~/ws_depend/src
cd ~/ws_depend/src
ROS_PACKAGE_PATH=/usr/share rosinstall_generator --rosdistro noetic --from-path $GITHUB_WORKSPACE --deps --exclude RPP --depend-type buildtool build | tee repos
vcs import --shallow < repos
# override to use latest development for 22.04
rosinstall_generator laser_filters laser_assembler map_server --rosdistro noetic --upstream-development | vcs import --force
rosinstall_generator catkin_virtualenv --rosdistro noetic | vcs import --force
rm -fr jsk_common
# Run catkin_run_tests_target only when CATKIN_ENABLE_TESTING is enabled #89 (https://github.com/locusrobotics/catkin_virtualenv/pull/89)
curl -s -L -O https://patch-diff.githubusercontent.com/raw/locusrobotics/catkin_virtualenv/pull/89.diff
patch -p1 < 89.diff
rosdep install -qq -r -y --from-path . --ignore-src || echo "OK"
cd ..
catkin_make_isolated --cmake-args -DCATKIN_ENABLE_TESTING=OFF
- name: Setup Workspace
run: |
set -x
# hack!
apt install -y -q -qq python-is-python3
sed -i s/noetic/Debian/ $GITHUB_WORKSPACE/jsk_rosbag_tools/CMakeLists.txt
# setup workspace
mkdir -p ~/ws_current/src
cd ~/ws_current/src
ln -sf $GITHUB_WORKSPACE .
rosdep install -qq -r -y --from-path . --ignore-src || echo "OK"
- name: Compile Packages
run: |
set -x
cd ~/ws_current/
source ~/ws_depend/devel_isolated/setup.bash
catkin_make_isolated ${{ matrix.CATKIN_OPTIONS }} --cmake-args -DCATKIN_ENABLE_TESTING=OFF -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ${{ matrix.CMAKE_OPTIONS }}
shell: bash