fix CI, override node20 https://github.com/actions/upload-artifact/issues/616#issuecomment-2350667347 #69
Workflow file for this run
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: ${{ matrix.experimental }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- ROS_DISTRO: indigo | |
CONTAINER: jskrobotics/ros-ubuntu:14.04 | |
- ROS_DISTRO: kinetic | |
CONTAINER: ubuntu:16.04 | |
- ROS_DISTRO: melodic | |
CONTAINER: ubuntu:18.04 | |
- ROS_DISTRO: noetic | |
CONTAINER: ubuntu:20.04 | |
# BUILD_PKGS: cmd_vel_smoother contact_states_observer joy_mouse jsk_teleop_joy | |
container: | |
image: ${{ matrix.CONTAINER }} | |
options: --mount type=tmpfs,destination=/__e/node20,tmpfs-size=200m,tmpfs-mode=1777 | |
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: Try to replace `node` with an glibc 2.17 | |
shell: bash | |
run: | | |
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] | |
- 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_DISTRO : ${{ matrix.ROS_DISTRO }} | |
CATKIN_PARALLEL_JOBS: "-p2" | |
CATKIN_PARALLEL_TEST_JOBS: "-p2" | |
ROS_PARALLEL_JOBS: "-j4" | |
ROS_PARALLEL_TEST_JOBS: "-j4" | |
CATKIN_TOOLS_BUILD_OPTIONS: "-iv --summarize --no-status" | |
BUILD_PKGS : ${{ matrix.BUILD_PKGS }} |