Skip to content

Commit

Permalink
[CI] clang, downstream and compatibility builds (#94)
Browse files Browse the repository at this point in the history
  • Loading branch information
christophfroehlich authored Dec 17, 2024
1 parent dd69a47 commit f9c7c3a
Show file tree
Hide file tree
Showing 25 changed files with 263 additions and 28 deletions.
5 changes: 5 additions & 0 deletions .github/workflows/humble-abi-compatibility.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ on:
branches:
- humble

concurrency:
# cancel previous runs of the same workflow, except for pushes on humble branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}

jobs:
abi_check:
runs-on: ubuntu-latest
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/humble-binary-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ on:
# Run every morning to detect flakiness and broken dependencies
- cron: '03 1 * * *'

concurrency:
# cancel previous runs of the same workflow, except for pushes on humble branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}

jobs:
binary:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
Expand All @@ -26,4 +31,4 @@ jobs:
ros_distro: ${{ matrix.ROS_DISTRO }}
ros_repo: ${{ matrix.ROS_REPO }}
upstream_workspace: kinematics_interface-not-released.${{ matrix.ROS_DISTRO }}.repos
ref_for_scheduled_build: master
ref_for_scheduled_build: humble
5 changes: 5 additions & 0 deletions .github/workflows/humble-coverage-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ on:
branches:
- humble

concurrency:
# cancel previous runs of the same workflow, except for pushes on humble branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}

jobs:
coverage_humble:
name: coverage build - humble
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/humble-debian-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ on:
# Run every day to detect flakiness and broken dependencies
- cron: '33 2 * * *'

concurrency:
# cancel previous runs of the same workflow, except for pushes on humble branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}

jobs:
debian_source_build:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-debian-build.yml@master
strategy:
fail-fast: false
matrix:
ROS_DISTRO: [humble]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
upstream_workspace: kinematics_interface.${{ matrix.ROS_DISTRO }}.repos
ros_distro: humble
upstream_workspace: kinematics_interface.humble.repos
ref_for_scheduled_build: master
4 changes: 4 additions & 0 deletions .github/workflows/humble-pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ on:
branches:
- humble

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
pre-commit:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-pre-commit.yml@master
Expand Down
13 changes: 7 additions & 6 deletions .github/workflows/humble-rhel-semi-binary-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,15 @@ on:
# Run every day to detect flakiness and broken dependencies
- cron: '42 4 * * *'

concurrency:
# cancel previous runs of the same workflow, except for pushes on humble branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}

jobs:
rhel_semi_binary_build:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-rhel-binary-build.yml@master
strategy:
fail-fast: false
matrix:
ROS_DISTRO: [humble]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
upstream_workspace: kinematics_interface.${{ matrix.ROS_DISTRO }}.repos
ros_distro: humble
upstream_workspace: kinematics_interface.humble.repos
ref_for_scheduled_build: master
27 changes: 19 additions & 8 deletions .github/workflows/humble-semi-binary-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,27 @@ on:
# Run every morning to detect flakiness and broken dependencies
- cron: '33 1 * * *'

concurrency:
# cancel previous runs of the same workflow, except for pushes on humble branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}

jobs:
semi_binary:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
strategy:
fail-fast: false
matrix:
ROS_DISTRO: [humble]
ROS_REPO: [main, testing]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
ros_repo: ${{ matrix.ROS_REPO }}
upstream_workspace: kinematics_interface.${{ matrix.ROS_DISTRO }}.repos
ros_distro: humble
ros_repo: testing
upstream_workspace: kinematics_interface.humble.repos
ref_for_scheduled_build: master
semi_binary_clang:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
with:
ros_distro: humble
ros_repo: testing
upstream_workspace: kinematics_interface.humble.repos
ref_for_scheduled_build: humble
additional_debs: clang
c_compiler: clang
cxx_compiler: clang++
not_test_build: true
26 changes: 26 additions & 0 deletions .github/workflows/humble-semi-binary-downstream-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Humble Downstream Build
# description: 'Build & test downstream packages from source.'
# author: Christoph Froehlich <[email protected]>

on:
workflow_dispatch:
pull_request:
branches:
- humble

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-downstream:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
with:
ros_distro: humble
ros_repo: testing
ref_for_scheduled_build: master
not_test_build: true
upstream_workspace: kinematics_interface.humble.repos
# we test the downstream packages, which are part of our organization
downstream_workspace: ros_controls.humble.repos
not_test_downstream: false
13 changes: 7 additions & 6 deletions .github/workflows/humble-source-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,16 @@ on:
# Run every day to detect flakiness and broken dependencies
- cron: '03 3 * * *'

concurrency:
# cancel previous runs of the same workflow, except for pushes on humble branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}

jobs:
source:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-ros-tooling-source-build.yml@master
strategy:
fail-fast: false
matrix:
ROS_DISTRO: [humble]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
ros_distro: humble
ref: master
ros2_repo_branch: ${{ matrix.ROS_DISTRO }}
ros2_repo_branch: humble
os_name: ubuntu-22.04
5 changes: 5 additions & 0 deletions .github/workflows/rolling-abi-compatibility.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ on:
branches:
- master

concurrency:
# cancel previous runs of the same workflow, except for pushes on humble branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}

jobs:
abi_check:
runs-on: ubuntu-latest
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/rolling-binary-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ on:
# Run every morning to detect flakiness and broken dependencies
- cron: '03 1 * * *'

concurrency:
# cancel previous runs of the same workflow, except for pushes on humble branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}

jobs:
binary:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
Expand Down
31 changes: 31 additions & 0 deletions .github/workflows/rolling-compatibility-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Check Rolling Compatibility
# author: Christoph Froehlich <[email protected]>
# description: 'Build & test the rolling version on earlier distros.'

on:
workflow_dispatch:
pull_request:
branches:
- master
push:
branches:
- master

concurrency:
# cancel previous runs of the same workflow, except for pushes on humble branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}

jobs:
build:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
strategy:
fail-fast: false
matrix:
ROS_DISTRO: [humble, jazzy]
ROS_REPO: [testing]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
ros_repo: ${{ matrix.ROS_REPO }}
upstream_workspace: kinematics_interface.rolling.repos
ref_for_scheduled_build: master
5 changes: 5 additions & 0 deletions .github/workflows/rolling-coverage-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ on:
branches:
- master

concurrency:
# cancel previous runs of the same workflow, except for pushes on humble branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}

jobs:
coverage_rolling:
name: coverage build - rolling
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/rolling-debian-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ on:
# Run every day to detect flakiness and broken dependencies
- cron: '33 2 * * *'

concurrency:
# cancel previous runs of the same workflow, except for pushes on humble branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}

jobs:
debian_source_build:
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/rolling-pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ on:
branches:
- master

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
pre-commit:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-pre-commit.yml@master
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/rolling-rhel-semi-binary-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ on:
# Run every day to detect flakiness and broken dependencies
- cron: '42 4 * * *'

concurrency:
# cancel previous runs of the same workflow, except for pushes on humble branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}

jobs:
rhel_semi_binary_build:
Expand Down
19 changes: 18 additions & 1 deletion .github/workflows/rolling-semi-binary-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,33 @@ on:
# Run every morning to detect flakiness and broken dependencies
- cron: '33 1 * * *'

concurrency:
# cancel previous runs of the same workflow, except for pushes on humble branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}

jobs:
semi_binary:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
strategy:
fail-fast: false
matrix:
ROS_DISTRO: [rolling, jazzy]
ROS_REPO: [main, testing]
ROS_REPO: [testing]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
ros_repo: ${{ matrix.ROS_REPO }}
upstream_workspace: kinematics_interface.${{ matrix.ROS_DISTRO }}.repos
ref_for_scheduled_build: master
semi_binary_clang:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
with:
# job for building only, no tests -> one distro is enough
ros_distro: rolling
ros_repo: testing
upstream_workspace: kinematics_interface.rolling.repos
ref_for_scheduled_build: master
additional_debs: clang
c_compiler: clang
cxx_compiler: clang++
not_test_build: true
31 changes: 31 additions & 0 deletions .github/workflows/rolling-semi-binary-downstream-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Rolling Downstream Build
# description: 'Build & test downstream packages from source.'
# author: Christoph Froehlich <[email protected]>

on:
workflow_dispatch:
pull_request:
branches:
- master

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-downstream:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
strategy:
fail-fast: false
matrix:
ROS_DISTRO: [jazzy, rolling]
ROS_REPO: [testing]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
ros_repo: ${{ matrix.ROS_REPO }}
ref_for_scheduled_build: master
not_test_build: true
upstream_workspace: kinematics_interface.${{ matrix.ROS_DISTRO }}.repos
# we test the downstream packages, which are part of our organization
downstream_workspace: ros_controls.${{ matrix.ROS_DISTRO }}.repos
not_test_downstream: false
5 changes: 5 additions & 0 deletions .github/workflows/rolling-source-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ on:
# Run every day to detect flakiness and broken dependencies
- cron: '03 3 * * *'

concurrency:
# cancel previous runs of the same workflow, except for pushes on humble branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}

jobs:
source:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-ros-tooling-source-build.yml@master
Expand Down
9 changes: 9 additions & 0 deletions kinematics_interface.humble.repos
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
repositories:
# needed for ros2_control_test_assets
ros2_control:
type: git
url: https://github.com/ros-controls/ros2_control.git
version: humble
realtime_tools:
type: git
url: https://github.com/ros-controls/realtime_tools.git
version: humble
control_msgs:
type: git
url: https://github.com/ros-controls/control_msgs.git
version: humble
9 changes: 9 additions & 0 deletions kinematics_interface.jazzy.repos
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
repositories:
# needed for ros2_control_test_assets
ros2_control:
type: git
url: https://github.com/ros-controls/ros2_control.git
version: master
realtime_tools:
type: git
url: https://github.com/ros-controls/realtime_tools.git
version: master
control_msgs:
type: git
url: https://github.com/ros-controls/control_msgs.git
version: master
Loading

0 comments on commit f9c7c3a

Please sign in to comment.