-
Notifications
You must be signed in to change notification settings - Fork 76
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into feature/realtime-barrier
- Loading branch information
Showing
48 changed files
with
1,439 additions
and
387 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- | ||
Language: Cpp | ||
BasedOnStyle: Google | ||
|
||
AccessModifierOffset: -2 | ||
AlignAfterOpenBracket: AlwaysBreak | ||
BreakBeforeBraces: Custom | ||
BraceWrapping: | ||
AfterClass: true | ||
AfterFunction: true | ||
AfterNamespace: true | ||
AfterStruct: true | ||
ColumnLimit: 100 | ||
ConstructorInitializerIndentWidth: 0 | ||
ContinuationIndentWidth: 2 | ||
DerivePointerAlignment: false | ||
PointerAlignment: Middle | ||
ReflowComments: false | ||
IncludeBlocks: Preserve | ||
... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
## Build status | ||
|
||
ROS2 Distro | Branch | Build status | Documentation | Released packages | ||
:---------: | :----: | :----------: | :-----------: | :---------------: | ||
**Rolling** | [`rolling`](https://github.com/ros-controls/realtime_tools/tree/rolling) | [![Rolling Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build-main.yml?branch=master) <br /> [![Rolling Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build-testing.yml?branch=master) <br /> [![Rolling Semi-Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-semi-binary-build-main.yml?branch=master) <br /> [![Rolling Semi-Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-semi-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-semi-binary-build-testing.yml?branch=master) <br /> [![Rolling Source Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-source-build.yml?branch=master) | | [realtime_tools](https://index.ros.org/p/realtime_tools/#rolling) | ||
**Humble** | [`humble`](https://github.com/ros-controls/realtime_tools/tree/humble) | [![Humble Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build-main.yml?branch=master) <br /> [![Humble Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build-testing.yml?branch=master) <br /> [![Humble Semi-Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-semi-binary-build-main.yml?branch=master) <br /> [![Humble Semi-Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-semi-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-semi-binary-build-testing.yml?branch=master) <br /> [![Humble Source Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-source-build.yml?branch=master) | | [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. | ||
|
||
[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` | ||
|
||
1. Source build - also core ROS packages are build from source. It shows potential issues in the mid future. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
name: Coverage Build | ||
on: | ||
workflow_dispatch: | ||
branches: | ||
- master | ||
pull_request: | ||
branches: | ||
- master | ||
|
||
jobs: | ||
coverage: | ||
name: coverage build | ||
runs-on: ubuntu-22.04 | ||
strategy: | ||
fail-fast: false | ||
env: | ||
ROS_DISTRO: rolling | ||
steps: | ||
- uses: ros-tooling/[email protected] | ||
with: | ||
required-ros-distributions: ${{ env.ROS_DISTRO }} | ||
- uses: actions/checkout@v3 | ||
- uses: ros-tooling/[email protected] | ||
with: | ||
target-ros2-distro: ${{ env.ROS_DISTRO }} | ||
import-token: ${{ secrets.GITHUB_TOKEN }} | ||
# build all packages listed in the meta package | ||
package-name: | ||
realtime_tools | ||
|
||
vcs-repo-file-url: | | ||
https://raw.githubusercontent.com/${{ github.repository }}/${{ github.sha }}/realtime_tools-not-released.${{ env.ROS_DISTRO }}.repos?token=${{ secrets.GITHUB_TOKEN }} | ||
colcon-defaults: | | ||
{ | ||
"build": { | ||
"mixin": ["coverage-gcc"] | ||
} | ||
} | ||
colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml | ||
- uses: codecov/[email protected] | ||
with: | ||
file: ros_ws/lcov/total_coverage.info | ||
flags: unittests | ||
name: codecov-umbrella | ||
- uses: actions/[email protected] | ||
with: | ||
name: colcon-logs-coverage-rolling | ||
path: ros_ws/log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# This is a format job. Pre-commit has a first-party GitHub action, so we use | ||
# that: https://github.com/pre-commit/action | ||
|
||
name: Format | ||
|
||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
|
||
jobs: | ||
pre-commit: | ||
name: Format | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: 3.9.7 | ||
- name: Install system hooks | ||
run: sudo apt install -qq clang-format-12 cppcheck | ||
- uses: pre-commit/[email protected] | ||
with: | ||
extra_args: --all-files --hook-stage manual |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
name: ROS Lint | ||
on: | ||
pull_request: | ||
|
||
jobs: | ||
ament_lint: | ||
name: ament_${{ matrix.linter }} | ||
runs-on: ubuntu-20.04 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
linter: [copyright, lint_cmake] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: ros-tooling/[email protected] | ||
- uses: ros-tooling/[email protected] | ||
with: | ||
distribution: rolling | ||
linter: ${{ matrix.linter }} | ||
package-name: | ||
realtime_tools | ||
|
||
ament_cpplint: | ||
name: ament_${{ matrix.linter }} | ||
runs-on: ubuntu-20.04 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
linter: [cpplint] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: ros-tooling/[email protected] | ||
- uses: ros-tooling/[email protected] | ||
with: | ||
distribution: rolling | ||
linter: cpplint | ||
arguments: "--linelength=100 --filter=-whitespace/newline" | ||
package-name: | ||
realtime_tools | ||
|
||
ament_cppcheck: | ||
name: ament_${{ matrix.linter }} | ||
runs-on: ubuntu-20.04 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
linter: [cppcheck] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: ros-tooling/[email protected] | ||
- uses: ros-tooling/[email protected] | ||
with: | ||
distribution: rolling | ||
linter: ${{ matrix.linter }} | ||
arguments: "--language=c++" | ||
package-name: | ||
realtime_tools |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
name: Humble - ABI Compatibility Check | ||
on: | ||
workflow_dispatch: | ||
branches: | ||
- master | ||
pull_request: | ||
branches: | ||
- master | ||
|
||
jobs: | ||
abi_check: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: ros-industrial/industrial_ci@master | ||
env: | ||
ROS_DISTRO: humble | ||
ROS_REPO: main | ||
ABICHECK_URL: github:${{ github.repository }}#${{ github.base_ref }} | ||
NOT_TEST_BUILD: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name: Humble Binary Build - main | ||
# author: Denis Štogl <[email protected]> | ||
# description: 'Build & test all dependencies from released (binary) packages.' | ||
|
||
on: | ||
workflow_dispatch: | ||
branches: | ||
- master | ||
pull_request: | ||
branches: | ||
- master | ||
push: | ||
branches: | ||
- master | ||
schedule: | ||
# Run every morning to detect flakiness and broken dependencies | ||
- cron: '03 1 * * *' | ||
|
||
jobs: | ||
binary: | ||
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml | ||
with: | ||
ros_distro: humble | ||
ros_repo: main | ||
upstream_workspace: realtime_tools-not-released.humble.repos | ||
ref_for_scheduled_build: master |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name: Humble Binary Build - testing | ||
# author: Denis Štogl <[email protected]> | ||
# description: 'Build & test all dependencies from released (binary) packages.' | ||
|
||
on: | ||
workflow_dispatch: | ||
branches: | ||
- master | ||
pull_request: | ||
branches: | ||
- master | ||
push: | ||
branches: | ||
- master | ||
schedule: | ||
# Run every morning to detect flakiness and broken dependencies | ||
- cron: '03 1 * * *' | ||
|
||
jobs: | ||
binary: | ||
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml | ||
with: | ||
ros_distro: humble | ||
ros_repo: testing | ||
upstream_workspace: realtime_tools-not-released.humble.repos | ||
ref_for_scheduled_build: master |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
name: Humble RHEL Binary Build | ||
on: | ||
workflow_dispatch: | ||
branches: | ||
- master | ||
pull_request: | ||
branches: | ||
- master | ||
push: | ||
branches: | ||
- master | ||
schedule: | ||
# Run every day to detect flakiness and broken dependencies | ||
- cron: '03 1 * * *' | ||
|
||
|
||
jobs: | ||
humble_rhel_binary: | ||
name: Humble RHEL binary build | ||
runs-on: ubuntu-latest | ||
env: | ||
ROS_DISTRO: humble | ||
container: ghcr.io/ros-controls/ros:${{ env.ROS_DISTRO }}-rhel | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
path: src/realtime_tools | ||
- run: | | ||
rosdep update | ||
rosdep install -iy --from-path src/realtime_tools | ||
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash | ||
colcon build | ||
colcon test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
name: Humble Semi-Binary Build - main | ||
# description: 'Build & test that compiles the main dependencies from source.' | ||
|
||
on: | ||
workflow_dispatch: | ||
branches: | ||
- master | ||
pull_request: | ||
branches: | ||
- master | ||
push: | ||
branches: | ||
- master | ||
schedule: | ||
# Run every morning to detect flakiness and broken dependencies | ||
- cron: '33 1 * * *' | ||
|
||
jobs: | ||
semi_binary: | ||
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml | ||
with: | ||
ros_distro: humble | ||
ros_repo: main | ||
upstream_workspace: realtime_tools.humble.repos | ||
ref_for_scheduled_build: master |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
name: Humble Semi-Binary Build - testing | ||
# description: 'Build & test that compiles the main dependencies from source.' | ||
|
||
on: | ||
workflow_dispatch: | ||
branches: | ||
- master | ||
pull_request: | ||
branches: | ||
- master | ||
push: | ||
branches: | ||
- master | ||
schedule: | ||
# Run every morning to detect flakiness and broken dependencies | ||
- cron: '33 1 * * *' | ||
|
||
jobs: | ||
semi_binary: | ||
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml | ||
with: | ||
ros_distro: humble | ||
ros_repo: testing | ||
upstream_workspace: realtime_tools.humble.repos | ||
ref_for_scheduled_build: master |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
name: Humble Source Build | ||
on: | ||
workflow_dispatch: | ||
branches: | ||
- master | ||
push: | ||
branches: | ||
- master | ||
schedule: | ||
# Run every day to detect flakiness and broken dependencies | ||
- cron: '03 3 * * *' | ||
|
||
jobs: | ||
source: | ||
uses: ./.github/workflows/reusable-ros-tooling-source-build.yml | ||
with: | ||
ros_distro: humble | ||
ref: master | ||
ros2_repo_branch: humble |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
name: Pre-Release Check | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
ros_distro: | ||
description: 'Chose ROS distribution' | ||
required: true | ||
default: 'rolling' | ||
type: choice | ||
options: | ||
- foxy | ||
- galactic | ||
- humble | ||
- rolling | ||
branch: | ||
description: 'Chose branch for distro' | ||
required: true | ||
default: 'master' | ||
type: choice | ||
options: | ||
- foxy | ||
- galactic | ||
- humble | ||
- master | ||
|
||
jobs: | ||
pre_release: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
ref: ${{ github.event.inputs.branch }} | ||
- name: industrial_ci | ||
uses: ros-industrial/industrial_ci@master | ||
env: | ||
ROS_DISTRO: ${{ github.event.inputs.ros_distro }} | ||
PRERELEASE: true | ||
BASEDIR: ${{ github.workspace }}/.work |
Oops, something went wrong.