diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 60652b30..cb0055c4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,7 @@ jobs: build: timeout-minutes: 30 runs-on: ubuntu-latest + name: build (${{matrix.env.URSIM_VERSION}}-${{matrix.env.ROBOT_MODEL}}) strategy: matrix: env: @@ -34,9 +35,9 @@ jobs: - name: configure run: mkdir build && cd build && cmake .. -DBUILDING_TESTS=1 -DINTEGRATION_TESTS=1 -DWITH_ASAN=ON env: - CXXFLAGS: -g -O2 -fprofile-arcs -ftest-coverage - CFLAGS: -g -O2 -fprofile-arcs -ftest-coverage - LDFLAGS: -fprofile-arcs -ftest-coverage + CXXFLAGS: -g -O2 -fprofile-arcs -ftest-coverage + CFLAGS: -g -O2 -fprofile-arcs -ftest-coverage + LDFLAGS: -fprofile-arcs -ftest-coverage - name: build run: cmake --build build --config Debug - name: Create folder for test artifacts diff --git a/.github/workflows/industrial-ci.yml b/.github/workflows/industrial-ci.yml index 3a080a9a..28c3c07f 100644 --- a/.github/workflows/industrial-ci.yml +++ b/.github/workflows/industrial-ci.yml @@ -2,100 +2,31 @@ name: ROS industrial ci on: [push, pull_request] jobs: - build: + industrial_ci: + name: ${{matrix.ROS_DISTRO.NAME}}, ${{matrix.ROS_REPO}} runs-on: ubuntu-latest strategy: fail-fast: false matrix: - env: - - ROS_DISTRO: melodic - ROS_REPO: main - IMMEDIATE_TEST_OUTPUT: true - DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS_Driver#master https://raw.githubusercontent.com/UniversalRobots/Universal_Robots_ROS_Driver/master/.melodic.rosinstall" - DOCKER_RUN_OPTS: --network ursim_net - BEFORE_INIT: 'apt-get update -qq && apt-get install -y iproute2 iputils-ping && ip addr && ping -c5 192.168.56.101' - URSIM_VERSION: '5.9.4' - ROBOT_MODEL: 'ur5e' - PROGRAM_FOLDER: 'tests/resources/dockerursim/programs/e-series' - - ROS_DISTRO: noetic - ROS_REPO: main - IMMEDIATE_TEST_OUTPUT: true - DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS_Driver#master https://raw.githubusercontent.com/UniversalRobots/Universal_Robots_ROS_Driver/master/.noetic.rosinstall" - BUILDER: catkin_tools - DOCKER_RUN_OPTS: --network ursim_net - BEFORE_INIT: 'apt-get update -qq && apt-get install -y iproute2 iputils-ping && ip addr && ping -c5 192.168.56.101' - URSIM_VERSION: '5.9.4' - ROBOT_MODEL: 'ur5e' - PROGRAM_FOLDER: 'tests/resources/dockerursim/programs/e-series' - - ROS_DISTRO: galactic - ROS_REPO: main - IMMEDIATE_TEST_OUTPUT: true - DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS2_Driver#galactic" - DOCKER_RUN_OPTS: --network ursim_net - BEFORE_INIT: 'apt-get update -qq && apt-get install -y iproute2 iputils-ping && ip addr && ping -c5 192.168.56.101' - URSIM_VERSION: '5.9.4' - ROBOT_MODEL: 'ur5e' - PROGRAM_FOLDER: 'tests/resources/dockerursim/programs/e-series' - NOT_TEST_DOWNSTREAM: true - - ROS_DISTRO: humble - ROS_REPO: main - IMMEDIATE_TEST_OUTPUT: true - DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS2_Driver#humble https://raw.githubusercontent.com/UniversalRobots/Universal_Robots_ROS2_Driver/humble/Universal_Robots_ROS2_Driver-not-released.humble.repos" - DOCKER_RUN_OPTS: --network ursim_net - BEFORE_INIT: 'apt-get update -qq && apt-get install -y iproute2 iputils-ping && ip addr && ping -c5 192.168.56.101' - URSIM_VERSION: '5.9.4' - ROBOT_MODEL: 'ur5e' - PROGRAM_FOLDER: 'tests/resources/dockerursim/programs/e-series' - NOT_TEST_DOWNSTREAM: true - - ROS_DISTRO: iron - ROS_REPO: main - IMMEDIATE_TEST_OUTPUT: true - DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS2_Driver#iron https://raw.githubusercontent.com/UniversalRobots/Universal_Robots_ROS2_Driver/iron/Universal_Robots_ROS2_Driver-not-released.iron.repos" - DOCKER_RUN_OPTS: --network ursim_net - BEFORE_INIT: 'apt-get update -qq && apt-get install -y iproute2 iputils-ping && ip addr && ping -c5 192.168.56.101' - URSIM_VERSION: '5.9.4' - ROBOT_MODEL: 'ur5e' - PROGRAM_FOLDER: 'tests/resources/dockerursim/programs/e-series' - NOT_TEST_DOWNSTREAM: true - - ROS_DISTRO: rolling - ROS_REPO: main - IMMEDIATE_TEST_OUTPUT: true - DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS2_Driver#main https://raw.githubusercontent.com/UniversalRobots/Universal_Robots_ROS2_Driver/main/Universal_Robots_ROS2_Driver-not-released.rolling.repos" - DOCKER_RUN_OPTS: --network ursim_net - BEFORE_INIT: 'apt-get update -qq && apt-get install -y iproute2 iputils-ping && ip addr && ping -c5 192.168.56.101' - URSIM_VERSION: '5.9.4' - ROBOT_MODEL: 'ur5e' - PROGRAM_FOLDER: 'tests/resources/dockerursim/programs/e-series' - NOT_TEST_DOWNSTREAM: true - + ROS_DISTRO: + - {NAME: noetic, DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS_Driver#master https://raw.githubusercontent.com/UniversalRobots/Universal_Robots_ROS_Driver/master/.noetic.rosinstall"} + - {NAME: humble, DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS2_Driver#humble"} + - {NAME: iron, DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS2_Driver#iron"} + - {NAME: jazzy, DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS2_Driver#main"} + - {NAME: rolling, DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS2_Driver#main"} + ROS_REPO: + - main + - testing + env: + DOCKER_RUN_OPTS: '-v /var/run/docker.sock:/var/run/docker.sock --network ursim_net' steps: - - uses: actions/checkout@v1 - - name: start ursim - run: | - scripts/start_ursim.sh -m $ROBOT_MODEL -v $URSIM_VERSION -p $PROGRAM_FOLDER -d - env: ${{matrix.env}} + - uses: actions/checkout@v4 + - run: docker network create --subnet=192.168.56.0/24 ursim_net - uses: 'ros-industrial/industrial_ci@master' - env: ${{matrix.env}} - - name: Generate URSim log files - if: always() - run: | - nc -q 1 192.168.56.101 29999 <