Skip to content

Commit

Permalink
[CI] Add jazzy 🚀 (#165)
Browse files Browse the repository at this point in the history
* Add jazzy jobs

* Add jazzy to readme

* Add jazzy for debian

* Add RHEL jazzy workflow

* Remove semi-binary job and empty repos files

* Fix rhel+debian

* Update upstream pre-commit wf

* Use ros: container for coverage build

* Sort the distros
  • Loading branch information
christophfroehlich authored May 8, 2024
1 parent b6552e4 commit cb528eb
Show file tree
Hide file tree
Showing 16 changed files with 24 additions and 113 deletions.
9 changes: 1 addition & 8 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

ROS2 Distro | Branch | Build status | Documentation | Released packages
:---------: | :----: | :----------: | :-----------: | :---------------:
**Rolling** <br />**Iron** <br />**Humble** | [`rolling`](https://github.com/ros-controls/realtime_tools/tree/rolling) | [![Rolling Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/binary-build.yml?branch=master) <br /> [![Rolling Semi-Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/semi-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/semi-binary-build.yml?branch=master) <br /> [![Rolling Source Build](https://github.com/ros-controls/realtime_tools/actions/workflows/source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/source-build.yml?branch=master) | [API](http://docs.ros.org/en/rolling/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#rolling)
**Rolling** <br />**Jazzy**<br />**Iron** <br />**Humble** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | [![Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/binary-build.yml?branch=master) <br /> [![Source Build](https://github.com/ros-controls/realtime_tools/actions/workflows/source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/source-build.yml?branch=master) | [API](http://docs.ros.org/en/rolling/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#rolling)



Expand All @@ -14,11 +14,4 @@ ROS2 Distro | Branch | Build status | Documentation | Released packages

1. Binary builds - against released packages (main and testing) in ROS distributions. Shows that direct local build is possible.

Uses repos file: `$NAME$-not-released.<ros-distro>.repos`

1. Semi-binary builds - against released core ROS packages (main and testing), but the immediate dependencies are pulled from source.
Shows that local build with dependencies is possible and if fails there we can expect that after the next package sync we will not be able to build.

Uses repos file: `$NAME$.repos`

1. Source build - also core ROS packages are build from source. It shows potential issues in the mid future.
2 changes: 1 addition & 1 deletion .github/workflows/abi-compatibility.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ROS_DISTRO: [rolling, iron, humble]
ROS_DISTRO: [humble, iron, jazzy, rolling]
steps:
- uses: actions/checkout@v4
- uses: ros-industrial/industrial_ci@master
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/binary-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,9 @@ jobs:
strategy:
fail-fast: false
matrix:
ROS_DISTRO: [rolling, iron, humble]
ROS_DISTRO: [humble, iron, jazzy, rolling]
ROS_REPO: [main, testing]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
ros_repo: ${{ matrix.ROS_REPO }}
upstream_workspace: realtime_tools-not-released.${{ matrix.ROS_DISTRO }}.repos
ref_for_scheduled_build: master
1 change: 0 additions & 1 deletion .github/workflows/ci-coverage-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,3 @@ jobs:
secrets: inherit
with:
ros_distro: rolling
container: ubuntu:24.04
9 changes: 1 addition & 8 deletions .github/workflows/ci-pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,6 @@ jobs:
strategy:
fail-fast: false
matrix:
ROS_DISTRO: [iron, humble]
ROS_DISTRO: [humble, iron, jazzy, rolling]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
os_name: ubuntu-22.04

pre-commit-rolling:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-pre-commit.yml@master
with:
ros_distro: rolling
container: ubuntu:24.04
3 changes: 1 addition & 2 deletions .github/workflows/debian-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ROS_DISTRO: [rolling, iron, humble]
ROS_DISTRO: [humble, iron, jazzy, rolling]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
upstream_workspace: realtime_tools.${{ matrix.ROS_DISTRO }}.repos
ref_for_scheduled_build: master
3 changes: 1 addition & 2 deletions .github/workflows/rhel-semi-binary-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ROS_DISTRO: [rolling, iron, humble]
ROS_DISTRO: [humble, iron, jazzy, rolling]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
upstream_workspace: realtime_tools.${{ matrix.ROS_DISTRO }}.repos
ref_for_scheduled_build: master
28 changes: 0 additions & 28 deletions .github/workflows/semi-binary-build.yml

This file was deleted.

28 changes: 15 additions & 13 deletions .github/workflows/source-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,22 @@ jobs:
strategy:
fail-fast: false
matrix:
ROS_DISTRO: [iron, humble]
include:
- ROS_DISTRO: humble
CONTAINER: ""
OS_NAME: ubuntu-22.04
- ROS_DISTRO: iron
CONTAINER: ""
OS_NAME: ubuntu-22.04
- ROS_DISTRO: jazzy
CONTAINER: ubuntu:24.04
OS_NAME: ubuntu-latest
- ROS_DISTRO: rolling
CONTAINER: ubuntu:24.04
OS_NAME: ubuntu-latest
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
ref: master
ros2_repo_branch: ${{ matrix.ROS_DISTRO }}
os_name: ubuntu-22.04
source-rolling:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-ros-tooling-source-build.yml@master
strategy:
fail-fast: false
matrix:
ROS_DISTRO: [rolling]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
ref: master
ros2_repo_branch: ${{ matrix.ROS_DISTRO }}
container: ubuntu:24.04
os_name: ${{ matrix.OS_NAME }}
container: ${{ matrix.CONTAINER }}
15 changes: 3 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,18 @@ Contains a set of tools that can be used from a hard realtime thread, without br
## Build status
ROS2 Distro | Branch | Build status | Documentation | Released packages
:---------: | :----: | :----------: | :-----------: | :---------------:
**Rolling** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | [![Rolling Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/binary-build.yml?branch=master) <br /> [![Rolling Semi-Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/semi-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/semi-binary-build.yml?branch=master) | [API](http://docs.ros.org/en/rolling/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#rolling)
**Rolling** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | [![Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/binary-build.yml?branch=master) <br /> [![Source Build](https://github.com/ros-controls/realtime_tools/actions/workflows/source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/source-build.yml?branch=master) | [API](http://docs.ros.org/en/rolling/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#rolling)
**Jazzy** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | see above | [API](http://docs.ros.org/en/jazzy/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#jazzy)
**Iron** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | see above | [API](http://docs.ros.org/en/iron/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#iron)
**Humble** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | see above | [API](http://docs.ros.org/en/humble/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#humble)


### Explanation of different build types

**NOTE**: There are three build stages checking current and future compatibility of the package.
**NOTE**: There are different build stages checking current and future compatibility of the package.

[Detailed build status](.github/workflows/README.md)

1. Binary builds - against released packages (main and testing) in ROS distributions. Shows that direct local build is possible.

Uses repos file: `$NAME$-not-released.<ros-distro>.repos`

1. Semi-binary builds - against released core ROS packages (main and testing), but the immediate dependencies are pulled from source.
Shows that local build with dependencies is possible and if fails there we can expect that after the next package sync we will not be able to build.

Uses repos file: `$NAME$.repos`


## Publication

If you find this work useful please give credits to the authors by citing:
Expand Down
6 changes: 0 additions & 6 deletions realtime_tools-not-released.humble.repos

This file was deleted.

6 changes: 0 additions & 6 deletions realtime_tools-not-released.iron.repos

This file was deleted.

6 changes: 0 additions & 6 deletions realtime_tools-not-released.rolling.repos

This file was deleted.

6 changes: 0 additions & 6 deletions realtime_tools.humble.repos

This file was deleted.

6 changes: 0 additions & 6 deletions realtime_tools.iron.repos

This file was deleted.

6 changes: 0 additions & 6 deletions realtime_tools.rolling.repos

This file was deleted.

0 comments on commit cb528eb

Please sign in to comment.