Merge pull request #259 from k-okada/skip_test #7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
env: | |
DISPLAY: ':0.0' | |
jobs: | |
ros: | |
runs-on: ubuntu-latest | |
continue-on-error: false | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- ROS_DISTRO: indigo | |
CONTAINER: jskrobotics/ros-ubuntu:14.04 | |
BEFORE_SCRIPT : "sudo pip install virtualenv==15.1.0" | |
NOT_TEST_INSTALL: true | |
- ROS_DISTRO: kinetic | |
CONTAINER: ubuntu:16.04 | |
BEFORE_SCRIPT: "pip install --user matplotlib==2.2.5" | |
- ROS_DISTRO: melodic | |
CONTAINER: ubuntu:18.04 | |
- ROS_DISTRO: noetic | |
CONTAINER: ubuntu:20.04 | |
container: | |
image: ${{ matrix.CONTAINER }} | |
volumes: | |
- /tmp/node20:/__e/node20 | |
steps: | |
- name: Install latest git ( use sudo for ros-ubuntu ) | |
run: | | |
[ -e /etc/apt/sources.list.d/ubuntu-esm-infra-$(lsb_release -cs).list ] && sudo rm /etc/apt/sources.list.d/ubuntu-esm-infra-$(lsb_release -cs).list ## fix Err https://esm.ubuntu.com trusty-infra-security/main amd64 Packages, gnutls_handshake() failed: Handshake failed | |
(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 -E 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 /__w/_temp/_runner_file_commands/ | |
sudo chown -R $USER /__w/_temp/_runner_file_commands/ | |
# 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: Try to replace `node` with an glibc 2.17 | |
shell: bash | |
run: | | |
if [ "${{ matrix.CONTAINER }}" = "jskrobotics/ros-ubuntu:14.04" ]; then | |
export USER=$(whoami) | |
sudo chmod 777 -R /__e/node20 | |
sudo chown -R $USER /__e/node20 | |
fi | |
ls -lar /__e/node20 && | |
sudo apt-get install -y curl && | |
curl -Lo /tmp/node.tar.gz https://unofficial-builds.nodejs.org/download/release/v20.17.0/node-v20.17.0-linux-x64-glibc-217.tar.gz && | |
cd /__e/node20 && | |
tar -x --strip-components=1 -f /tmp/node.tar.gz && | |
ls -lar /__e/node20/bin/ | |
- name: Chcekout | |
uses: actions/[email protected] | |
with: | |
submodules: true | |
- name: Run jsk_travis | |
uses: jsk-ros-pkg/jsk_travis@master | |
with: | |
ROS_PARALLEL_JOBS : "-j8" | |
CATKIN_PARALLEL_JOBS : "-p8" | |
ROS_PARALLEL_TEST_JOBS : "-j8" | |
CATKIN_PARALLEL_TEST_JOBS : "-p8" | |
BEFORE_SCRIPT : ${{ matrix.BEFORE_SCRIPT }} | |
ROS_DISTRO : ${{ matrix.ROS_DISTRO }} | |
USE_DEB : ${{ matrix.USE_DEB }} | |
NOT_TEST_INSTALL : ${{ matrix.NOT_TEST_INSTALL }} | |
TEST_PKGS : ${{ matrix.TEST_PKGS }} | |
EXTRA_DEB : ${{ matrix.EXTRA_DEB }} | |
# ROS-O setup https://github.com/v4hn/ros-o-builder/blob/jammy-one/README.md#install-instructions | |
ros-o: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- DISTRO: ubuntu:22.04 | |
ROS_REPOSITORY_URL: https://raw.githubusercontent.com/v4hn/ros-o-builder/jammy-one/repository | |
container: ${{ matrix.DISTRO }} | |
env: | |
DEBIAN_FRONTEND : noninteractive | |
steps: | |
- name: Chcekout Source | |
uses: actions/[email protected] | |
- name: Setup ROS-O deb repository | |
run: | | |
set -x | |
apt update && apt install -qq -y ca-certificates | |
echo "deb [trusted=yes] ${{ matrix.ROS_REPOSITORY_URL }}/ ./" | tee /etc/apt/sources.list.d/ros-o-builder.list | |
apt update | |
apt install -qq -y python3-rosdep2 | |
echo "yaml ${{ matrix.ROS_REPOSITORY_URL }}/local.yaml debian" | tee /etc/ros/rosdep/sources.list.d/1-ros-o-builder.list | |
rosdep update | |
- name: Setup catkin-tools | |
run: | | |
set -x | |
# setup catkin tools | |
apt install -qq -y python3-pip | |
pip3 install catkin-tools | |
# setup build tools | |
apt install -qq -y cmake build-essential catkin ros-one-rosbash | |
- name: Setup Workspace | |
run: | | |
source /opt/ros/one/setup.bash | |
set -x | |
# setup workspace | |
mkdir -p ~/ws/src | |
cd ~/ws/src | |
ln -sf $GITHUB_WORKSPACE . | |
rosdep install -qq -r -y --from-path . --ignore-src || echo "OK" | |
shell: bash | |
- name: Compile Packages | |
run: | | |
source /opt/ros/one/setup.bash | |
set -x | |
cd ~/ws/ | |
catkin build --no-status -sv ${{ matrix.CATKIN_OPTIONS }} --cmake-args -DCATKIN_ENABLE_TESTING=OFF -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ${{ matrix.CMAKE_OPTIONS }} | |
shell: bash |