diff --git a/.github/workflows/binary-galactic.yml b/.github/workflows/binary-galactic.yml deleted file mode 100644 index 518e47e..0000000 --- a/.github/workflows/binary-galactic.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: Galactic Binary Build -on: - pull_request: - branches: - - galactic - push: - branches: - - galactic - schedule: - # Run every morning to detect flakiness and broken dependencies - - cron: '53 5 * * *' - -jobs: - galactic_binary: - name: galactic binary build - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - ROS_DISTRO: [galactic] - ROS_REPO: [main, testing] - env: - CCACHE_DIR: ${{ github.workspace }}/.ccache - BASEDIR: ${{ github.workspace }}/.work - CACHE_PREFIX: ${{ matrix.ROS_DISTRO }}-${{ matrix.ROS_REPO }} - steps: - - uses: actions/checkout@v2 - with: - ref: galactic - # The target directory cache doesn't include the source directory because - # that comes from the checkout. See "prepare target_ws for cache" task below - - name: cache target_ws - if: ${{ ! matrix.CCOV }} - uses: pat-s/always-upload-cache@v2.1.5 - with: - path: ${{ env.BASEDIR }}/target_ws - key: target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}-${{ github.run_id }} - restore-keys: | - target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }} - - name: cache ccache - uses: pat-s/always-upload-cache@v2.1.5 - with: - path: ${{ env.CCACHE_DIR }} - key: ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}-${{ github.run_id }} - restore-keys: | - ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }} - ccache-${{ env.CACHE_PREFIX }} - - uses: 'ros-industrial/industrial_ci@master' - env: - ROS_DISTRO: ${{ matrix.ROS_DISTRO }} - ROS_REPO: ${{ matrix.ROS_REPO }} - - - name: prepare target_ws for cache - if: ${{ always() && ! matrix.CCOV }} - run: | - du -sh ${{ env.BASEDIR }}/target_ws - sudo find ${{ env.BASEDIR }}/target_ws -wholename '*/test_results/*' -delete - sudo rm -rf ${{ env.BASEDIR }}/target_ws/src - du -sh ${{ env.BASEDIR }}/target_ws diff --git a/.github/workflows/binary-humble.yml b/.github/workflows/binary-humble.yml deleted file mode 100644 index 4e979f5..0000000 --- a/.github/workflows/binary-humble.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: Humble Binary Build -on: - pull_request: - branches: - - ros2 - push: - branches: - - ros2 - schedule: - # Run every morning to detect flakiness and broken dependencies - - cron: '53 5 * * *' - -jobs: - humble_binary: - name: humble binary build - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - ROS_DISTRO: [humble] - ROS_REPO: [main, testing] - env: - CCACHE_DIR: ${{ github.workspace }}/.ccache - BASEDIR: ${{ github.workspace }}/.work - CACHE_PREFIX: ${{ matrix.ROS_DISTRO }}-${{ matrix.ROS_REPO }} - steps: - - uses: actions/checkout@v2 - # The target directory cache doesn't include the source directory because - # that comes from the checkout. See "prepare target_ws for cache" task below - - name: cache target_ws - if: ${{ ! matrix.CCOV }} - uses: pat-s/always-upload-cache@v2.1.5 - with: - path: ${{ env.BASEDIR }}/target_ws - key: target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}-${{ github.run_id }} - restore-keys: | - target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }} - - name: cache ccache - uses: pat-s/always-upload-cache@v2.1.5 - with: - path: ${{ env.CCACHE_DIR }} - key: ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}-${{ github.run_id }} - restore-keys: | - ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }} - ccache-${{ env.CACHE_PREFIX }} - - uses: 'ros-industrial/industrial_ci@master' - env: - ROS_DISTRO: ${{ matrix.ROS_DISTRO }} - ROS_REPO: ${{ matrix.ROS_REPO }} - - - name: prepare target_ws for cache - if: ${{ always() && ! matrix.CCOV }} - run: | - du -sh ${{ env.BASEDIR }}/target_ws - sudo find ${{ env.BASEDIR }}/target_ws -wholename '*/test_results/*' -delete - sudo rm -rf ${{ env.BASEDIR }}/target_ws/src - du -sh ${{ env.BASEDIR }}/target_ws diff --git a/.github/workflows/binary-iron.yml b/.github/workflows/binary-iron.yml deleted file mode 100644 index 9f0a25d..0000000 --- a/.github/workflows/binary-iron.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: Iron Binary Build -on: - workflow_dispatch: - branches: - - iron - pull_request: - branches: - - iron - - ros2 - push: - branches: - - iron - schedule: - # Run every morning to detect flakiness and broken dependencies - - cron: '53 5 * * *' - -jobs: - iron_binary: - name: iron binary build - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - ROS_DISTRO: [iron] - ROS_REPO: [main, testing] - env: - CCACHE_DIR: ${{ github.workspace }}/.ccache - BASEDIR: ${{ github.workspace }}/.work - CACHE_PREFIX: ${{ matrix.ROS_DISTRO }}-${{ matrix.ROS_REPO }} - steps: - - uses: actions/checkout@v3 - # The target directory cache doesn't include the source directory because - # that comes from the checkout. See "prepare target_ws for cache" task below - - name: cache target_ws - if: ${{ ! matrix.CCOV }} - uses: pat-s/always-upload-cache@v2.1.5 - with: - path: ${{ env.BASEDIR }}/target_ws - key: target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}-${{ github.run_id }} - restore-keys: | - target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }} - - name: cache ccache - uses: pat-s/always-upload-cache@v2.1.5 - with: - path: ${{ env.CCACHE_DIR }} - key: ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}-${{ github.run_id }} - restore-keys: | - ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }} - ccache-${{ env.CACHE_PREFIX }} - - uses: 'ros-industrial/industrial_ci@master' - env: - ROS_DISTRO: ${{ matrix.ROS_DISTRO }} - ROS_REPO: ${{ matrix.ROS_REPO }} - - - name: prepare target_ws for cache - if: ${{ always() && ! matrix.CCOV }} - run: | - du -sh ${{ env.BASEDIR }}/target_ws - sudo find ${{ env.BASEDIR }}/target_ws -wholename '*/test_results/*' -delete - sudo rm -rf ${{ env.BASEDIR }}/target_ws/src - du -sh ${{ env.BASEDIR }}/target_ws diff --git a/.github/workflows/binary-rolling.yml b/.github/workflows/binary-rolling.yml deleted file mode 100644 index c38a1ca..0000000 --- a/.github/workflows/binary-rolling.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: Rolling Binary Build -on: - pull_request: - branches: - - ros2 - push: - branches: - - ros2 - schedule: - # Run every morning to detect flakiness and broken dependencies - - cron: '53 5 * * *' - -jobs: - rolling_binary: - name: rolling binary build - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - ROS_DISTRO: [rolling] - ROS_REPO: [main, testing] - env: - CCACHE_DIR: ${{ github.workspace }}/.ccache - BASEDIR: ${{ github.workspace }}/.work - CACHE_PREFIX: ${{ matrix.ROS_DISTRO }}-${{ matrix.ROS_REPO }} - steps: - - uses: actions/checkout@v2 - # The target directory cache doesn't include the source directory because - # that comes from the checkout. See "prepare target_ws for cache" task below - - name: cache target_ws - if: ${{ ! matrix.CCOV }} - uses: pat-s/always-upload-cache@v2.1.5 - with: - path: ${{ env.BASEDIR }}/target_ws - key: target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}-${{ github.run_id }} - restore-keys: | - target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }} - - name: cache ccache - uses: pat-s/always-upload-cache@v2.1.5 - with: - path: ${{ env.CCACHE_DIR }} - key: ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}-${{ github.run_id }} - restore-keys: | - ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }} - ccache-${{ env.CACHE_PREFIX }} - - uses: 'ros-industrial/industrial_ci@master' - env: - ROS_DISTRO: ${{ matrix.ROS_DISTRO }} - ROS_REPO: ${{ matrix.ROS_REPO }} - - - name: prepare target_ws for cache - if: ${{ always() && ! matrix.CCOV }} - run: | - du -sh ${{ env.BASEDIR }}/target_ws - sudo find ${{ env.BASEDIR }}/target_ws -wholename '*/test_results/*' -delete - sudo rm -rf ${{ env.BASEDIR }}/target_ws/src - du -sh ${{ env.BASEDIR }}/target_ws diff --git a/.github/workflows/ci-ros-lint.yml b/.github/workflows/ci-ros-lint.yml index 5fbdffe..dc25710 100644 --- a/.github/workflows/ci-ros-lint.yml +++ b/.github/workflows/ci-ros-lint.yml @@ -5,14 +5,14 @@ on: jobs: ament_lint: name: ament_${{ matrix.linter }} - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: linter: [copyright, lint_cmake] steps: - - uses: actions/checkout@v1 - - uses: ros-tooling/setup-ros@v0.2 + - uses: actions/checkout@v3 + - uses: ros-tooling/setup-ros@v0.6 - uses: ros-tooling/action-ros-lint@v0.1 with: distribution: rolling diff --git a/.github/workflows/humble-binary-main.yml b/.github/workflows/humble-binary-main.yml new file mode 100644 index 0000000..89df014 --- /dev/null +++ b/.github/workflows/humble-binary-main.yml @@ -0,0 +1,21 @@ +name: Humble Binary Build Main +on: + workflow_dispatch: + branches: + - humble + pull_request: + branches: + - humble + push: + branches: + - humble + schedule: + - cron: '53 5 * * *' + +jobs: + binary: + uses: ./.github/workflows/reusable_ici.yml + with: + ros_distro: humble + ros_repo: main + ref_for_scheduled_build: humble diff --git a/.github/workflows/humble-binary-testing.yml b/.github/workflows/humble-binary-testing.yml new file mode 100644 index 0000000..6950897 --- /dev/null +++ b/.github/workflows/humble-binary-testing.yml @@ -0,0 +1,21 @@ +name: Humble Binary Build Testing +on: + workflow_dispatch: + branches: + - humble + pull_request: + branches: + - humble + push: + branches: + - humble + schedule: + - cron: '53 5 * * *' + +jobs: + binary: + uses: ./.github/workflows/reusable_ici.yml + with: + ros_distro: humble + ros_repo: testing + ref_for_scheduled_build: humble diff --git a/.github/workflows/iron-binary-main.yml b/.github/workflows/iron-binary-main.yml new file mode 100644 index 0000000..a2fe8ce --- /dev/null +++ b/.github/workflows/iron-binary-main.yml @@ -0,0 +1,21 @@ +name: Iron Binary Build Main +on: + workflow_dispatch: + branches: + - iron + pull_request: + branches: + - iron + push: + branches: + - iron + schedule: + - cron: '53 5 * * *' + +jobs: + binary: + uses: ./.github/workflows/reusable_ici.yml + with: + ros_distro: iron + ros_repo: main + ref_for_scheduled_build: iron diff --git a/.github/workflows/iron-binary-testing.yml b/.github/workflows/iron-binary-testing.yml new file mode 100644 index 0000000..bd88103 --- /dev/null +++ b/.github/workflows/iron-binary-testing.yml @@ -0,0 +1,21 @@ +name: Iron Binary Build Testing +on: + workflow_dispatch: + branches: + - iron + pull_request: + branches: + - iron + push: + branches: + - iron + schedule: + - cron: '53 5 * * *' + +jobs: + binary: + uses: ./.github/workflows/reusable_ici.yml + with: + ros_distro: iron + ros_repo: testing + ref_for_scheduled_build: iron diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index c775c2c..bef5cc2 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - ROS_DISTRO: [humble, rolling] + ROS_DISTRO: [rolling] ROS_REPO: [main] PRERELEASE: [true] env: diff --git a/.github/workflows/reusable_ici.yml b/.github/workflows/reusable_ici.yml new file mode 100644 index 0000000..9529b43 --- /dev/null +++ b/.github/workflows/reusable_ici.yml @@ -0,0 +1,53 @@ +name: Reusable industrial_ci workflow +# original author: Denis Štogl + +on: + workflow_call: + inputs: + ref_for_scheduled_build: + description: 'Reference on which the repo should be checkout for scheduled build. Usually is this name of a branch or a tag.' + default: '' + required: false + type: string + + upstream_workspace: + description: 'UPSTREAM_WORKSPACE variable for industrial_ci. Usually path to local .repos file.' + required: true + type: string + ros_distro: + description: 'ROS_DISTRO variable for industrial_ci' + required: true + type: string + ros_repo: + description: 'ROS_REPO to run for industrial_ci. Possible values: "main", "testing"' + default: 'main' + required: false + type: string + before_install_upstream_dependencies: + description: 'BEFORE_INSTALL_UPSTREAM_DEPENDENCIES variable for industrial_ci' + default: '' + required: false + type: string + +jobs: + reusable_ici: + name: ${{ inputs.ros_distro }} ${{ inputs.ros_repo }} ${{ inputs.os_code_name }} + runs-on: ubuntu-latest + env: + DOCKER_RUN_OPTS: '-v /var/run/docker.sock:/var/run/docker.sock --network ursim_net' + steps: + - name: Checkout ${{ inputs.ref }} when build is not scheduled + if: ${{ github.event_name != 'schedule' }} + uses: actions/checkout@v3 + - name: Checkout ${{ inputs.ref }} on scheduled build + if: ${{ github.event_name == 'schedule' }} + uses: actions/checkout@v3 + with: + ref: ${{ inputs.ref_for_scheduled_build }} + - run: docker network create --subnet=192.168.56.0/24 ursim_net + - uses: 'ros-industrial/industrial_ci@master' + env: + UPSTREAM_WORKSPACE: ${{ inputs.upstream_workspace }} + ROS_DISTRO: ${{ inputs.ros_distro }} + ROS_REPO: ${{ inputs.ros_repo }} + CMAKE_ARGS: -DUR_ROBOT_DRIVER_BUILD_INTEGRATION_TESTS=ON diff --git a/.github/workflows/rolling-binary-main.yml b/.github/workflows/rolling-binary-main.yml new file mode 100644 index 0000000..fef93a5 --- /dev/null +++ b/.github/workflows/rolling-binary-main.yml @@ -0,0 +1,22 @@ +name: Rolling Binary Build Main +on: + workflow_dispatch: + branches: + - rolling + pull_request: + branches: + - rolling + - ros2 + push: + branches: + - rolling + schedule: + - cron: '53 5 * * *' + +jobs: + binary: + uses: ./.github/workflows/reusable_ici.yml + with: + ros_distro: rolling + ros_repo: main + ref_for_scheduled_build: rolling diff --git a/.github/workflows/rolling-binary-testing.yml b/.github/workflows/rolling-binary-testing.yml new file mode 100644 index 0000000..cddd08d --- /dev/null +++ b/.github/workflows/rolling-binary-testing.yml @@ -0,0 +1,22 @@ +name: Rolling Binary Build Testing +on: + workflow_dispatch: + branches: + - rolling + pull_request: + branches: + - rolling + - ros2 + push: + branches: + - rolling + schedule: + - cron: '53 5 * * *' + +jobs: + binary: + uses: ./.github/workflows/reusable_ici.yml + with: + ros_distro: rolling + ros_repo: testing + ref_for_scheduled_build: rolling diff --git a/README.md b/README.md index 9287a0f..2389702 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,13 @@ This repository contains description files and meshes for *Universal Robots* man ROS2 Distro | Branch | Build status | Released packages :---------: | :----: | :----------: | :---------------: -**Galactic** | [`galactic`](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/tree/galactic) | [![Galactic Binary Build](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/actions/workflows/binary-galactic.yml/badge.svg?branch=galactic)](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/actions/workflows/binary-galactic.yml?branch=galactic)
| [ur_description](https://index.ros.org/p/ur_description/#galactic) -**Humble** | [`ros2`](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/tree/ros2) | [![Humble Binary Build](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/actions/workflows/binary-humble.yml/badge.svg?branch=ros2)](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/actions/workflows/binary-humble.yml?branch=ros2)
| [ur_description](https://index.ros.org/p/ur_description/#humble) -**Iron** | [`ros2`](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/tree/ros2) | [![Iron Binary Build](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/actions/workflows/binary-iron.yml/badge.svg?branch=ros2)](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/actions/workflows/binary-iron.yml?branch=ros2)
| [ur_description](https://index.ros.org/p/ur_description/#iron) -**Rolling** | [`ros2`](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/tree/ros2) | [![Rolling Binary Build](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/actions/workflows/binary-rolling.yml/badge.svg?branch=ros2)](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/actions/workflows/binary-rolling.yml?branch=ros2)
| [ur_description](https://index.ros.org/p/ur_description/#rolling) +**Humble** | [`humble`](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/tree/humble) | [![Build Status](https://build.ros2.org/job/Hbin_uJ64__ur_description__ubuntu_jammy_amd64__binary/badge/icon)](https://build.ros2.org/job/Hbin_uJ64__ur_description__ubuntu_jammy_amd64__binary/) | [ur_description](https://index.ros.org/p/ur_description/#humble) +**Iron** | [`iron`](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/tree/iron) | [![Build Status](https://build.ros2.org/job/Ibin_uJ64__ur_description__ubuntu_jammy_amd64__binary/badge/icon)](https://build.ros2.org/job/Ibin_uJ64__ur_description__ubuntu_jammy_amd64__binary/) | [ur_description](https://index.ros.org/p/ur_description/#iron) +**Rolling** | [`rolling`](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/tree/rolling) | [![Build Status](https://build.ros2.org/job/Rbin_uJ64__ur_description__ubuntu_jammy_amd64__binary/badge/icon)](https://build.ros2.org/job/Rbin_uJ64__ur_description__ubuntu_jammy_amd64__binary/)| [ur_description](https://index.ros.org/p/ur_description/#rolling) + +A more [detailed build status](ci_status.md) shows the state of all CI workflows inside this repo. +Please note that the detailed view is intended for developers, while the one here should give end +users an overview of the current released state. Note that for ROS2 **Foxy** the description is in the [driver's diff --git a/ci_status.md b/ci_status.md new file mode 100644 index 0000000..46de9e6 --- /dev/null +++ b/ci_status.md @@ -0,0 +1,64 @@ +## Build Status + +This page gives a detailed overview of the build status of this repository. Please note that due to +upstream changes some pipelines might turn red temporarily which can be expected behavior. + + + + + + + + + + + + + + + + + + + + + + + + + + +
HumbleIronRolling
Branchhumbleironrolling
Repo builds + + Humble Binary Main +
+ + Humble Binary Testing +
+
+ + Iron Binary Main +
+ + Iron Binary Testing +
+
+ + Rolling Binary Main +
+ + Rolling Binary Testing +
+
Buildfarm + + + + + +