Skip to content

Release/2.14.0

Release/2.14.0 #2113

Workflow file for this run

name: ROS industrial ci
on:
workflow_dispatch:
pull_request:
push:
branches:
- master
jobs:
industrial_ci:
name: ${{matrix.ROS_DISTRO.NAME}}, ${{matrix.ROS_REPO}}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ROS_DISTRO:
- NAME: noetic
DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS_Driver#master"
- NAME: humble
DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS2_Driver#humble"
- NAME: jazzy
DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS2_Driver#jazzy"
- NAME: kilted
DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS2_Driver#kilted"
- NAME: lyrical
DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS2_Driver#main"
- NAME: rolling
DOWNSTREAM_WORKSPACE: "github:UniversalRobots/Universal_Robots_ROS2_Driver#main"
CLANG_TIDY: pedantic
OS_CODE_NAME: "resolute"
ROS_REPO:
- main
- testing
env:
# /tmp/ur_test_artifacts: collection point for test artifacts (e.g. VNC
# snapshots) written from inside the ICI container.
# /tmp/ursim_urcaps: shared storage for the External Control URCap.
# Mounted at the same path in the ICI container AND used as the bind
# source for the URSim container that start_ursim.sh launches via the
# host docker daemon, so the URCap downloaded inside the ICI container
# is actually visible to URSim's /urcaps mount.
# Both paths are kept outside ${{ github.workspace }} so they do not
# collide with industrial_ci's read-only bind-mount of TARGET_REPO_PATH.
DOCKER_RUN_OPTS: '-v /var/run/docker.sock:/var/run/docker.sock -v /tmp/ur_test_artifacts:/test_artifacts -v /tmp/ursim_urcaps:/tmp/ursim_urcaps -e UR_TEST_ARTIFACTS_DIR=/test_artifacts -e UR_CI_URCAP_FOLDER=/tmp/ursim_urcaps --network ursim_net --ip 192.168.56.1'
steps:
- uses: actions/checkout@v7
- run: docker network create --subnet=192.168.56.0/24 --gateway 192.168.56.254 ursim_net
if: ${{ !env.ACT }}
- name: Create shared host directories
run: |
mkdir -p /tmp/ur_test_artifacts /tmp/ursim_urcaps
# Allow the container (running as root) to write here while keeping
# the directory readable by the runner user for upload-artifact, and
# writable by the host docker daemon when it bind-mounts /tmp/ursim_urcaps
# into the URSim container.
chmod 777 /tmp/ur_test_artifacts /tmp/ursim_urcaps
- uses: 'ros-industrial/industrial_ci@master'
env:
IMMEDIATE_TEST_OUTPUT: true
DOWNSTREAM_CMAKE_ARGS: -DUR_ROBOT_DRIVER_BUILD_INTEGRATION_TESTS=ON
ADDITIONAL_DEBS: docker.io netcat-openbsd # Needed for integration tests
DOWNSTREAM_WORKSPACE: ${{matrix.ROS_DISTRO.DOWNSTREAM_WORKSPACE}}
ROS_DISTRO: ${{matrix.ROS_DISTRO.NAME}}
ROS_REPO: ${{matrix.ROS_REPO}}
CLANG_TIDY: ${{matrix.ROS_DISTRO.CLANG_TIDY}}
OS_CODE_NAME: ${{matrix.ROS_DISTRO.OS_CODE_NAME}}
- name: Upload test artifacts
if: ${{ always() }}
uses: actions/upload-artifact@v7
with:
name: ur_test_artifacts-${{matrix.ROS_DISTRO.NAME}}-${{matrix.ROS_REPO}}
path: /tmp/ur_test_artifacts