Skip to content

Commit

Permalink
Imported upstream version '0.1.13' of 'upstream'
Browse files Browse the repository at this point in the history
  • Loading branch information
k-okada committed Nov 29, 2023
1 parent 6d024c3 commit dd22afe
Show file tree
Hide file tree
Showing 104 changed files with 3,497 additions and 431 deletions.
81 changes: 81 additions & 0 deletions .github/workflows/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
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
NOT_TEST_INSTALL: true
- ROS_DISTRO: kinetic
CONTAINER: jskrobotics/ros-ubuntu:16.04
- ROS_DISTRO: melodic
CONTAINER: jskrobotics/ros-ubuntu:18.04
- ROS_DISTRO: noetic
CONTAINER: jskrobotics/ros-ubuntu:20.04

container: ${{ matrix.CONTAINER }}
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)
sudo chown -R $USER $GITHUB_WORKSPACE
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/
- 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' | sudo 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 : "-j8"
CATKIN_PARALLEL_JOBS : "-p8"
ROS_PARALLEL_TEST_JOBS : "-j1"
CATKIN_PARALLEL_TEST_JOBS : "-p1"
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 }}
18 changes: 18 additions & 0 deletions .github/workflows/python2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# generated by `./generate_action_config.py noetic`
# jsk_travis
on: [push, pull_request]

jobs:
test:
runs-on: ubuntu-latest
name: check_python2

container: ubuntu:20.04

steps:
- name: Chcekout
uses: actions/checkout@v2
- name: Check Python2
run: |
apt update -q && apt install -y -q python2
python2 -m compileall .
22 changes: 22 additions & 0 deletions .github/workflows/python3.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# generated by `./generate_action_config.py noetic`
# jsk_travis
on: [push, pull_request]

jobs:
test:
runs-on: ubuntu-latest
name: check_python3

container: ubuntu:20.04

steps:
- name: Install latest git to download .git directory in actions/checkout@v2 ( use sudo for ros-ubuntu )
run: apt-get update && apt-get install -y software-properties-common && apt-get update && add-apt-repository -y ppa:git-core/ppa && apt-get update && apt-get install -y git
- name: work around permission issue # https://github.com/actions/checkout/issues/760#issuecomment-1097501613
run: git config --global --add safe.directory $GITHUB_WORKSPACE
- name: Chcekout
uses: actions/checkout@v2
- name: Check Python3
run: |
apt update -q && apt install -y -q python3 git 2to3
bash -c "ret=0; trap 'ret=1' ERR; python3 -m compileall .; 2to3 -w -f except -f execfile -f has_key -f import -f raw_input -f zip .; git diff --exit-code . > /dev/null; echo Exitting with \$ret; exit \$ret"
13 changes: 12 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,23 @@
sudo: true
dist: bionic
language: generic
notifications:
email:
on_success: always
on_failure: always
slack: jsk-robotics:Av7tc8wj3IWkLYvlTzHE7x2g
addons:
apt:
packages:
- 2to3
services:
- docker
env:
global:
- USE_DOCKER=true
matrix:
- CHECK_PYTHON3_COMPILE=true
- CHECK_PYTHON2_COMPILE=true
- ROS_DISTRO=hydro USE_DEB=false
- ROS_DISTRO=indigo USE_DEB=true
- ROS_DISTRO=jade USE_DEB=true
Expand All @@ -21,4 +29,7 @@ matrix:
- env: ROS_DISTRO=hydro USE_DEB=false
- env: ROS_DISTRO=indigo USE_DEB=true
- env: ROS_DISTRO=jade USE_DEB=true
script: source .travis/travis.sh
script:
- if [ "${CHECK_PYTHON2_COMPILE}" == "true" ]; then python2 -m compileall .; exit $?; fi
- if [ "${CHECK_PYTHON3_COMPILE}" == "true" ]; then bash -c "ret=0; trap 'ret=1' ERR; python3 -m compileall .; 2to3 -w -f except -f execfile -f has_key -f import -f raw_input -f zip .; git diff --exit-code . :^.travis > /dev/null; echo Exitting with \$ret; exit \$ret"; exit $?; fi
- source .travis/travis.sh
105 changes: 105 additions & 0 deletions .travis/.github/workflows/generate_action_config.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
#!/usr/bin/env python

# script to generate Github Action workflow config file

import argparse
import sys
from collections import defaultdict

def get_argument_parser():
parser = argparse.ArgumentParser(description="Create .github/workflows/*.yml for Github Actions")
add = parser.add_argument
add('distros', nargs='+', help="distros to check on github actions")
add('--verbose', '-v', action='store_true', default=False, help="show debug message")
return parser

def main(sysargs):
parser = get_argument_parser()
args = parser.parse_args(sys.argv[1:])
distros = args.distros
verbose = args.verbose
#
program = ' '.join(sys.argv)

for distro in distros:
print("Generate {}.yml".format(distro))
checkout = defaultdict(lambda: 'actions/checkout@v2',hydro='actions/checkout@v1')[distro]
container = defaultdict(lambda: 'jskrobotics/ros-ubuntu:18.04',
hydro = 'jskrobotics/ros-ubuntu:12.04',
indigo = 'jskrobotics/ros-ubuntu:14.04',
kinetic= 'jskrobotics/ros-ubuntu:16.04',
melodic= 'jskrobotics/ros-ubuntu:18.04',
noetic = 'jskrobotics/ros-ubuntu:20.04')[distro]
with open('{}.yml'.format(distro), mode='w') as f:
f.write('''# generated by `%(program)s`
# jsk_travis
on: [push, pull_request]
jobs:
%(distro)s:
runs-on: ubuntu-latest
name: %(distro)s
container: %(container)s
steps:
- name: Install latest git ( use sudo for ros-ubuntu, remove sudo for ubuntu container), checkout@v2 uses REST API for git<2.18, which removes .git folder and does not checkout .travis submodules
run: 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: Before Checkout # need for actions/checkout with ros-ubuntu container
run: sudo chown -R user:jenkins $RUNNER_WORKSPACE $HOME
- name: Checkout
uses: %(checkout)s
- name: Run jsk_travis
uses: jsk-ros-pkg/jsk_travis@master
with:
ROS_DISTRO : %(distro)s
''' % locals())

# python3 test
print("Generate python3.yml")
with open('python3.yml', mode='w') as f:
f.write('''# generated by `%(program)s`
# jsk_travis
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
name: check_python3
container: ubuntu:20.04
steps:
- name: Chcekout
uses: actions/checkout@v2
- name: Check Python3
run: |
apt update -q && apt install -y -q python3
python3 -m compileall .
''' % locals())
# python2 test
print("Generate python2.yml")
with open('python2.yml', mode='w') as f:
f.write('''# generated by `%(program)s`
# jsk_travis
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
name: check_python2
container: ubuntu:20.04
steps:
- name: Chcekout
uses: actions/checkout@v2
- name: Check python2
run: |
apt update -q && apt install -y -q python2
python2 -m compileall .
''' % locals())


if __name__ == '__main__':
sys.exit(main(sys.argv[1:]) or 0)
33 changes: 33 additions & 0 deletions .travis/.github/workflows/indigo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# generated by `./generate_action_config.py indigo kinetic melodic noetic`
# jsk_travis
on: [push, pull_request]

env:
TEST_VAR1: true
TEST_VAR2: false

jobs:
indigo:
runs-on: ubuntu-latest
name: indigo

container: jskrobotics/ros-ubuntu:14.04

steps:
- name: Install latest git ( use sudo for ros-ubuntu, remove sudo for ubuntu container), checkout@v2 uses REST API for git<2.18, which removes .git folder and does not checkout .travis submodules
run: 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)
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
- name: Checkout
uses: actions/checkout@v2
- name: Run jsk_travis
uses: ./
with:
ADDITIONAL_ENV_TO_DOCKER: 'TEST_VAR1 TEST_VAR2'
ROS_DISTRO : indigo
33 changes: 33 additions & 0 deletions .travis/.github/workflows/kinetic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# generated by `./generate_action_config.py indigo kinetic melodic noetic`
# jsk_travis
on: [push, pull_request]

env:
TEST_VAR1: true
TEST_VAR2: false

jobs:
kinetic:
runs-on: ubuntu-latest
name: kinetic

container: jskrobotics/ros-ubuntu:16.04

steps:
- name: Install latest git ( use sudo for ros-ubuntu, remove sudo for ubuntu container), checkout@v2 uses REST API for git<2.18, which removes .git folder and does not checkout .travis submodules
run: 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)
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
- name: Checkout
uses: actions/checkout@v2
- name: Run jsk_travis
uses: ./
with:
ADDITIONAL_ENV_TO_DOCKER: 'TEST_VAR1 TEST_VAR2'
ROS_DISTRO : kinetic
Loading

0 comments on commit dd22afe

Please sign in to comment.