From 26b86b434bfb906c8f6ea70fdc7b0d6b97535380 Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Wed, 4 Dec 2024 21:44:07 +0000 Subject: [PATCH 1/5] Split humble workflows --- .github/dependabot.yml | 7 ++++ .../workflows/humble-abi-compatibility.yml | 18 +++++++++ .github/workflows/humble-binary-build-win.yml | 29 +++++++++++++++ .github/workflows/humble-binary-build.yml | 37 +++++++++++++++++++ .../humble-binary-downstream-build.yml | 23 ++++++++++++ .github/workflows/humble-coverage-build.yml | 17 +++++++++ .github/workflows/humble-debian-build.yml | 17 +++++++++ .github/workflows/humble-pre-commit.yml | 13 +++++++ .../humble-rhel-semi-binary-build.yml | 17 +++++++++ .github/workflows/humble-source-build.yml | 26 +++++++++++++ ...lity.yml => rolling-abi-compatibility.yml} | 4 +- ...d-win.yml => rolling-binary-build-win.yml} | 2 +- ...ary-build.yml => rolling-binary-build.yml} | 4 +- ...ml => rolling-binary-downstream-build.yml} | 4 +- ...e-build.yml => rolling-coverage-build.yml} | 2 +- ...ian-build.yml => rolling-debian-build.yml} | 4 +- ...-pre-commit.yml => rolling-pre-commit.yml} | 4 +- ...yml => rolling-rhel-semi-binary-build.yml} | 4 +- ...rce-build.yml => rolling-source-build.yml} | 5 +-- 19 files changed, 219 insertions(+), 18 deletions(-) create mode 100644 .github/workflows/humble-abi-compatibility.yml create mode 100644 .github/workflows/humble-binary-build-win.yml create mode 100644 .github/workflows/humble-binary-build.yml create mode 100644 .github/workflows/humble-binary-downstream-build.yml create mode 100644 .github/workflows/humble-coverage-build.yml create mode 100644 .github/workflows/humble-debian-build.yml create mode 100644 .github/workflows/humble-pre-commit.yml create mode 100644 .github/workflows/humble-rhel-semi-binary-build.yml create mode 100644 .github/workflows/humble-source-build.yml rename .github/workflows/{abi-compatibility.yml => rolling-abi-compatibility.yml} (85%) rename .github/workflows/{binary-build-win.yml => rolling-binary-build-win.yml} (95%) rename .github/workflows/{binary-build.yml => rolling-binary-build.yml} (93%) rename .github/workflows/{binary-downstream-build.yml => rolling-binary-downstream-build.yml} (91%) rename .github/workflows/{ci-coverage-build.yml => rolling-coverage-build.yml} (91%) rename .github/workflows/{debian-build.yml => rolling-debian-build.yml} (87%) rename .github/workflows/{ci-pre-commit.yml => rolling-pre-commit.yml} (82%) rename .github/workflows/{rhel-semi-binary-build.yml => rolling-rhel-semi-binary-build.yml} (86%) rename .github/workflows/{source-build.yml => rolling-source-build.yml} (87%) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 05a48fc6..f5e9921f 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -11,3 +11,10 @@ updates: directory: "/" schedule: interval: "weekly" + - package-ecosystem: "github-actions" + # Workflow files stored in the + # default location of `.github/workflows` + directory: "/" + schedule: + interval: "weekly" + target-branch: "humble" diff --git a/.github/workflows/humble-abi-compatibility.yml b/.github/workflows/humble-abi-compatibility.yml new file mode 100644 index 00000000..e3bf1c59 --- /dev/null +++ b/.github/workflows/humble-abi-compatibility.yml @@ -0,0 +1,18 @@ +name: Humble ABI Compatibility Check +on: + workflow_dispatch: + pull_request: + branches: + - humble + +jobs: + abi_check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - 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 diff --git a/.github/workflows/humble-binary-build-win.yml b/.github/workflows/humble-binary-build-win.yml new file mode 100644 index 00000000..ba22fe72 --- /dev/null +++ b/.github/workflows/humble-binary-build-win.yml @@ -0,0 +1,29 @@ +name: Humble Windows Binary Build +# author: Christoph Fröhlich +# description: 'Build & test all dependencies from released (binary) windows packages.' + +on: + workflow_dispatch: + pull_request: + branches: + - humble + # types: + # - labeled + push: + branches: + - humble + # issue_comment: + # types: + # - created + +jobs: + binary-windows: + # if: | + # (github.event_name == 'issue_comment' && contains(github.event.comment.body, '/check-windows')) || + # (github.event_name == 'pull_request' && contains(github.event.label.name, 'check-windows')) || + # (github.event_name == 'workflow_dispatch') + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-ros-tooling-win-build.yml@master + with: + ros_distro: humble + ref_for_scheduled_build: humble + os_name: windows-2019 diff --git a/.github/workflows/humble-binary-build.yml b/.github/workflows/humble-binary-build.yml new file mode 100644 index 00000000..a18a18a4 --- /dev/null +++ b/.github/workflows/humble-binary-build.yml @@ -0,0 +1,37 @@ +name: Humble Binary Build +# author: Denis Štogl +# description: 'Build & test all dependencies from released (binary) packages.' + +on: + workflow_dispatch: + pull_request: + branches: + - humble + push: + branches: + - humble + schedule: + # Run every morning to detect flakiness and broken dependencies + - cron: '03 1 * * *' + +jobs: + binary: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master + strategy: + fail-fast: false + matrix: + ROS_REPO: [main, testing] + with: + ros_distro: humble + ros_repo: ${{ matrix.ROS_REPO }} + ref_for_scheduled_build: master + binary_clang: + 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: humlbe + additional_debs: clang + c_compiler: clang + cxx_compiler: clang++ + not_test_build: true diff --git a/.github/workflows/humble-binary-downstream-build.yml b/.github/workflows/humble-binary-downstream-build.yml new file mode 100644 index 00000000..a951909b --- /dev/null +++ b/.github/workflows/humble-binary-downstream-build.yml @@ -0,0 +1,23 @@ +name: Humble Downstream Build +# description: 'Build & test downstream packages from source.' +# author: Christoph Froehlich + +on: + workflow_dispatch: + pull_request: + branches: + - humble + push: + branches: + - humble + +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 + downstream_workspace: ros_controls.humble.repos + not_test_downstream: true diff --git a/.github/workflows/humble-coverage-build.yml b/.github/workflows/humble-coverage-build.yml new file mode 100644 index 00000000..6df56c99 --- /dev/null +++ b/.github/workflows/humble-coverage-build.yml @@ -0,0 +1,17 @@ +name: Humble Coverage Build +on: + workflow_dispatch: + push: + branches: + - humble + pull_request: + branches: + - humble + +jobs: + coverage: + name: coverage build + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-build-coverage.yml@master + secrets: inherit + with: + ros_distro: humble diff --git a/.github/workflows/humble-debian-build.yml b/.github/workflows/humble-debian-build.yml new file mode 100644 index 00000000..f2c6e702 --- /dev/null +++ b/.github/workflows/humble-debian-build.yml @@ -0,0 +1,17 @@ +name: Humble Debian Build +on: + workflow_dispatch: + pull_request: + branches: + - humble + schedule: + # Run every day to detect flakiness and broken dependencies + - cron: '33 2 * * *' + + +jobs: + debian_source_build: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-debian-build.yml@master + with: + ros_distro: humble + ref_for_scheduled_build: humble diff --git a/.github/workflows/humble-pre-commit.yml b/.github/workflows/humble-pre-commit.yml new file mode 100644 index 00000000..e197f702 --- /dev/null +++ b/.github/workflows/humble-pre-commit.yml @@ -0,0 +1,13 @@ +name: Humble Pre-Commit + +on: + workflow_dispatch: + pull_request: + branches: + - humble + +jobs: + pre-commit: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-pre-commit.yml@master + with: + ros_distro: humble diff --git a/.github/workflows/humble-rhel-semi-binary-build.yml b/.github/workflows/humble-rhel-semi-binary-build.yml new file mode 100644 index 00000000..3b0d1d81 --- /dev/null +++ b/.github/workflows/humble-rhel-semi-binary-build.yml @@ -0,0 +1,17 @@ +name: Humble RHEL Binary Build +on: + workflow_dispatch: + pull_request: + branches: + - humble + schedule: + # Run every day to detect flakiness and broken dependencies + - cron: '03 3 * * *' + + +jobs: + rhel_semi_binary_build: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-rhel-binary-build.yml@master + with: + ros_distro: humble + ref_for_scheduled_build: humble diff --git a/.github/workflows/humble-source-build.yml b/.github/workflows/humble-source-build.yml new file mode 100644 index 00000000..566ccafc --- /dev/null +++ b/.github/workflows/humble-source-build.yml @@ -0,0 +1,26 @@ +name: Humble Source Build +on: + workflow_dispatch: + push: + branches: + - humble + schedule: + # Run every day to detect flakiness and broken dependencies + - cron: '03 3 * * *' + +jobs: + source: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-ros-tooling-source-build.yml@master + strategy: + fail-fast: false + matrix: + include: + - ROS_DISTRO: humble + CONTAINER: "" + OS_NAME: ubuntu-22.04 + with: + ros_distro: ${{ matrix.ROS_DISTRO }} + ref: humble + ros2_repo_branch: ${{ matrix.ROS_DISTRO }} + os_name: ${{ matrix.OS_NAME }} + container: ${{ matrix.CONTAINER }} diff --git a/.github/workflows/abi-compatibility.yml b/.github/workflows/rolling-abi-compatibility.yml similarity index 85% rename from .github/workflows/abi-compatibility.yml rename to .github/workflows/rolling-abi-compatibility.yml index 0aa8cf8e..5e5e3ed1 100644 --- a/.github/workflows/abi-compatibility.yml +++ b/.github/workflows/rolling-abi-compatibility.yml @@ -1,4 +1,4 @@ -name: ABI Compatibility Check +name: Rolling ABI Compatibility Check on: workflow_dispatch: pull_request: @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - ROS_DISTRO: [humble, jazzy, rolling] + ROS_DISTRO: [jazzy, rolling] steps: - uses: actions/checkout@v4 - uses: ros-industrial/industrial_ci@master diff --git a/.github/workflows/binary-build-win.yml b/.github/workflows/rolling-binary-build-win.yml similarity index 95% rename from .github/workflows/binary-build-win.yml rename to .github/workflows/rolling-binary-build-win.yml index 45bcca3c..983931e5 100644 --- a/.github/workflows/binary-build-win.yml +++ b/.github/workflows/rolling-binary-build-win.yml @@ -1,4 +1,4 @@ -name: Windows Binary Build +name: Rolling Windows Binary Build # author: Christoph Fröhlich # description: 'Build & test all dependencies from released (binary) windows packages.' diff --git a/.github/workflows/binary-build.yml b/.github/workflows/rolling-binary-build.yml similarity index 93% rename from .github/workflows/binary-build.yml rename to .github/workflows/rolling-binary-build.yml index cf478369..1b3cfdec 100644 --- a/.github/workflows/binary-build.yml +++ b/.github/workflows/rolling-binary-build.yml @@ -1,4 +1,4 @@ -name: Binary Build +name: Rolling Binary Build # author: Denis Štogl # description: 'Build & test all dependencies from released (binary) packages.' @@ -20,7 +20,7 @@ jobs: strategy: fail-fast: false matrix: - ROS_DISTRO: [humble, jazzy, rolling] + ROS_DISTRO: [jazzy, rolling] ROS_REPO: [main, testing] with: ros_distro: ${{ matrix.ROS_DISTRO }} diff --git a/.github/workflows/binary-downstream-build.yml b/.github/workflows/rolling-binary-downstream-build.yml similarity index 91% rename from .github/workflows/binary-downstream-build.yml rename to .github/workflows/rolling-binary-downstream-build.yml index 7592aa7b..b9ff368c 100644 --- a/.github/workflows/binary-downstream-build.yml +++ b/.github/workflows/rolling-binary-downstream-build.yml @@ -1,4 +1,4 @@ -name: Downstream Build +name: Rolling Downstream Build # description: 'Build & test downstream packages from source.' # author: Christoph Froehlich @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - ROS_DISTRO: [humble, jazzy, rolling] + ROS_DISTRO: [jazzy, rolling] ROS_REPO: [testing] with: ros_distro: ${{ matrix.ROS_DISTRO }} diff --git a/.github/workflows/ci-coverage-build.yml b/.github/workflows/rolling-coverage-build.yml similarity index 91% rename from .github/workflows/ci-coverage-build.yml rename to .github/workflows/rolling-coverage-build.yml index 5a5cc611..d27fde8e 100644 --- a/.github/workflows/ci-coverage-build.yml +++ b/.github/workflows/rolling-coverage-build.yml @@ -1,4 +1,4 @@ -name: Coverage Build +name: Rolling Coverage Build on: workflow_dispatch: push: diff --git a/.github/workflows/debian-build.yml b/.github/workflows/rolling-debian-build.yml similarity index 87% rename from .github/workflows/debian-build.yml rename to .github/workflows/rolling-debian-build.yml index 34f3f665..d0d3bae4 100644 --- a/.github/workflows/debian-build.yml +++ b/.github/workflows/rolling-debian-build.yml @@ -1,4 +1,4 @@ -name: Debian Build +name: Rolling Debian Build on: workflow_dispatch: pull_request: @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - ROS_DISTRO: [humble, jazzy, rolling] + ROS_DISTRO: [jazzy, rolling] with: ros_distro: ${{ matrix.ROS_DISTRO }} ref_for_scheduled_build: master diff --git a/.github/workflows/ci-pre-commit.yml b/.github/workflows/rolling-pre-commit.yml similarity index 82% rename from .github/workflows/ci-pre-commit.yml rename to .github/workflows/rolling-pre-commit.yml index 7fbfd74c..9152dcd8 100644 --- a/.github/workflows/ci-pre-commit.yml +++ b/.github/workflows/rolling-pre-commit.yml @@ -1,4 +1,4 @@ -name: Pre-Commit +name: Rolling Pre-Commit on: workflow_dispatch: @@ -12,6 +12,6 @@ jobs: strategy: fail-fast: false matrix: - ROS_DISTRO: [humble, jazzy, rolling] + ROS_DISTRO: [jazzy, rolling] with: ros_distro: ${{ matrix.ROS_DISTRO }} diff --git a/.github/workflows/rhel-semi-binary-build.yml b/.github/workflows/rolling-rhel-semi-binary-build.yml similarity index 86% rename from .github/workflows/rhel-semi-binary-build.yml rename to .github/workflows/rolling-rhel-semi-binary-build.yml index bcd54694..f36c7f03 100644 --- a/.github/workflows/rhel-semi-binary-build.yml +++ b/.github/workflows/rolling-rhel-semi-binary-build.yml @@ -1,4 +1,4 @@ -name: RHEL Binary Build +name: Rolling RHEL Binary Build on: workflow_dispatch: pull_request: @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - ROS_DISTRO: [humble, jazzy, rolling] + ROS_DISTRO: [jazzy, rolling] with: ros_distro: ${{ matrix.ROS_DISTRO }} ref_for_scheduled_build: master diff --git a/.github/workflows/source-build.yml b/.github/workflows/rolling-source-build.yml similarity index 87% rename from .github/workflows/source-build.yml rename to .github/workflows/rolling-source-build.yml index cc046235..fb885556 100644 --- a/.github/workflows/source-build.yml +++ b/.github/workflows/rolling-source-build.yml @@ -1,4 +1,4 @@ -name: Source Build +name: Rolling Source Build on: workflow_dispatch: push: @@ -15,9 +15,6 @@ jobs: fail-fast: false matrix: include: - - ROS_DISTRO: humble - CONTAINER: "" - OS_NAME: ubuntu-22.04 - ROS_DISTRO: jazzy CONTAINER: ubuntu:24.04 OS_NAME: ubuntu-latest From 6a35b9ecba08460e9f148a322a2ad1d564949c49 Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Wed, 4 Dec 2024 21:47:15 +0000 Subject: [PATCH 2/5] Add concurrency setup --- .github/workflows/humble-abi-compatibility.yml | 5 +++++ .github/workflows/humble-binary-build-win.yml | 5 +++++ .github/workflows/humble-binary-build.yml | 5 +++++ .github/workflows/humble-binary-downstream-build.yml | 5 +++++ .github/workflows/humble-coverage-build.yml | 5 +++++ .github/workflows/humble-debian-build.yml | 4 ++++ .github/workflows/humble-pre-commit.yml | 4 ++++ .github/workflows/humble-rhel-semi-binary-build.yml | 4 ++++ .github/workflows/rolling-abi-compatibility.yml | 5 +++++ .github/workflows/rolling-binary-build-win.yml | 5 +++++ .github/workflows/rolling-binary-build.yml | 5 +++++ .github/workflows/rolling-binary-downstream-build.yml | 5 +++++ .github/workflows/rolling-coverage-build.yml | 5 +++++ .github/workflows/rolling-debian-build.yml | 4 ++++ .github/workflows/rolling-pre-commit.yml | 4 ++++ .github/workflows/rolling-rhel-semi-binary-build.yml | 4 ++++ .github/workflows/{rosdoc2.yml => rolling-rosdoc2.yml} | 4 ++++ 17 files changed, 78 insertions(+) rename .github/workflows/{rosdoc2.yml => rolling-rosdoc2.yml} (56%) diff --git a/.github/workflows/humble-abi-compatibility.yml b/.github/workflows/humble-abi-compatibility.yml index e3bf1c59..d4fc5f98 100644 --- a/.github/workflows/humble-abi-compatibility.yml +++ b/.github/workflows/humble-abi-compatibility.yml @@ -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: ${{ github.ref != 'humble' }} + jobs: abi_check: runs-on: ubuntu-latest diff --git a/.github/workflows/humble-binary-build-win.yml b/.github/workflows/humble-binary-build-win.yml index ba22fe72..a9527653 100644 --- a/.github/workflows/humble-binary-build-win.yml +++ b/.github/workflows/humble-binary-build-win.yml @@ -16,6 +16,11 @@ on: # types: # - created +concurrency: + # cancel previous runs of the same workflow, except for pushes on humble branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'humble' }} + jobs: binary-windows: # if: | diff --git a/.github/workflows/humble-binary-build.yml b/.github/workflows/humble-binary-build.yml index a18a18a4..db903874 100644 --- a/.github/workflows/humble-binary-build.yml +++ b/.github/workflows/humble-binary-build.yml @@ -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: ${{ github.ref != 'humble' }} + jobs: binary: uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master diff --git a/.github/workflows/humble-binary-downstream-build.yml b/.github/workflows/humble-binary-downstream-build.yml index a951909b..60af3a9d 100644 --- a/.github/workflows/humble-binary-downstream-build.yml +++ b/.github/workflows/humble-binary-downstream-build.yml @@ -11,6 +11,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: ${{ github.ref != 'humble' }} + jobs: build-downstream: uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master diff --git a/.github/workflows/humble-coverage-build.yml b/.github/workflows/humble-coverage-build.yml index 6df56c99..743051f9 100644 --- a/.github/workflows/humble-coverage-build.yml +++ b/.github/workflows/humble-coverage-build.yml @@ -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: ${{ github.ref != 'humble' }} + jobs: coverage: name: coverage build diff --git a/.github/workflows/humble-debian-build.yml b/.github/workflows/humble-debian-build.yml index f2c6e702..ca037fa4 100644 --- a/.github/workflows/humble-debian-build.yml +++ b/.github/workflows/humble-debian-build.yml @@ -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: ${{ github.ref != 'humble' }} jobs: debian_source_build: diff --git a/.github/workflows/humble-pre-commit.yml b/.github/workflows/humble-pre-commit.yml index e197f702..4c771e04 100644 --- a/.github/workflows/humble-pre-commit.yml +++ b/.github/workflows/humble-pre-commit.yml @@ -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 diff --git a/.github/workflows/humble-rhel-semi-binary-build.yml b/.github/workflows/humble-rhel-semi-binary-build.yml index 3b0d1d81..d05a69f2 100644 --- a/.github/workflows/humble-rhel-semi-binary-build.yml +++ b/.github/workflows/humble-rhel-semi-binary-build.yml @@ -8,6 +8,10 @@ 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: ${{ github.ref != 'humble' }} jobs: rhel_semi_binary_build: diff --git a/.github/workflows/rolling-abi-compatibility.yml b/.github/workflows/rolling-abi-compatibility.yml index 5e5e3ed1..9007001c 100644 --- a/.github/workflows/rolling-abi-compatibility.yml +++ b/.github/workflows/rolling-abi-compatibility.yml @@ -5,6 +5,11 @@ on: branches: - master +concurrency: + # cancel previous runs of the same workflow, except for pushes on master branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'master' }} + jobs: abi_check: runs-on: ubuntu-latest diff --git a/.github/workflows/rolling-binary-build-win.yml b/.github/workflows/rolling-binary-build-win.yml index 983931e5..e2e4800c 100644 --- a/.github/workflows/rolling-binary-build-win.yml +++ b/.github/workflows/rolling-binary-build-win.yml @@ -16,6 +16,11 @@ on: # types: # - created +concurrency: + # cancel previous runs of the same workflow, except for pushes on master branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'master' }} + jobs: binary-windows: # if: | diff --git a/.github/workflows/rolling-binary-build.yml b/.github/workflows/rolling-binary-build.yml index 1b3cfdec..42324727 100644 --- a/.github/workflows/rolling-binary-build.yml +++ b/.github/workflows/rolling-binary-build.yml @@ -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 master branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'master' }} + jobs: binary: uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master diff --git a/.github/workflows/rolling-binary-downstream-build.yml b/.github/workflows/rolling-binary-downstream-build.yml index b9ff368c..fd33cc48 100644 --- a/.github/workflows/rolling-binary-downstream-build.yml +++ b/.github/workflows/rolling-binary-downstream-build.yml @@ -11,6 +11,11 @@ on: branches: - master +concurrency: + # cancel previous runs of the same workflow, except for pushes on master branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'master' }} + jobs: build-downstream: uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master diff --git a/.github/workflows/rolling-coverage-build.yml b/.github/workflows/rolling-coverage-build.yml index d27fde8e..155f0ce0 100644 --- a/.github/workflows/rolling-coverage-build.yml +++ b/.github/workflows/rolling-coverage-build.yml @@ -8,6 +8,11 @@ on: branches: - master +concurrency: + # cancel previous runs of the same workflow, except for pushes on master branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'master' }} + jobs: coverage: name: coverage build diff --git a/.github/workflows/rolling-debian-build.yml b/.github/workflows/rolling-debian-build.yml index d0d3bae4..e1445c47 100644 --- a/.github/workflows/rolling-debian-build.yml +++ b/.github/workflows/rolling-debian-build.yml @@ -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 master branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'master' }} jobs: debian_source_build: diff --git a/.github/workflows/rolling-pre-commit.yml b/.github/workflows/rolling-pre-commit.yml index 9152dcd8..aec5a783 100644 --- a/.github/workflows/rolling-pre-commit.yml +++ b/.github/workflows/rolling-pre-commit.yml @@ -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 diff --git a/.github/workflows/rolling-rhel-semi-binary-build.yml b/.github/workflows/rolling-rhel-semi-binary-build.yml index f36c7f03..9ff656b5 100644 --- a/.github/workflows/rolling-rhel-semi-binary-build.yml +++ b/.github/workflows/rolling-rhel-semi-binary-build.yml @@ -8,6 +8,10 @@ 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 master branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'master' }} jobs: rhel_semi_binary_build: diff --git a/.github/workflows/rosdoc2.yml b/.github/workflows/rolling-rosdoc2.yml similarity index 56% rename from .github/workflows/rosdoc2.yml rename to .github/workflows/rolling-rosdoc2.yml index 06e67d5f..0f537974 100644 --- a/.github/workflows/rosdoc2.yml +++ b/.github/workflows/rolling-rosdoc2.yml @@ -10,6 +10,10 @@ on: - rosdoc2.yaml - package.xml +concurrency: + # cancel previous runs of the same workflow, except for pushes on master branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'master' }} jobs: check: From 68f188aa826b3b735bf43717367b715a02b217a5 Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Wed, 4 Dec 2024 21:51:11 +0000 Subject: [PATCH 3/5] Update READMEs --- .github/workflows/README.md | 6 +++--- README.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index b90c2ba7..05e7602b 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -1,9 +1,9 @@ ## Build status -ROS2 Distro | Branch | Build status | Documentation | Released packages +ROS 2 Distro | Branch | Build status | Documentation | Released packages :---------: | :----: | :----------: | :-----------: | :---------------: -**Rolling**
**Jazzy**
**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)
[![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**
**Jazzy** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | [![Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build.yml?branch=master)
[![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) | [API](http://docs.ros.org/en/rolling/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#rolling) +**Humble** | [`humble`](https://github.com/ros-controls/realtime_tools/tree/humble) | [![Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build.yml?branch=master)
[![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) | [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 diff --git a/README.md b/README.md index bf569dc7..eeb97059 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ ROS2 Distro | Branch | Build status | Documentation | Released packages :---------: | :----: | :----------: | :-----------: | :---------------: **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)
[![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) -**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) +**Humble** | [`humble`](https://github.com/ros-controls/realtime_tools/tree/humble) | [![Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build.yml?branch=master)
[![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) | [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 From fa823ff7eed0a5afa96c594df5f96b2c58826431 Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Thu, 5 Dec 2024 21:08:52 +0000 Subject: [PATCH 4/5] Don't hardcode branch in setting --- .github/workflows/humble-abi-compatibility.yml | 2 +- .github/workflows/humble-binary-build-win.yml | 2 +- .github/workflows/humble-binary-build.yml | 2 +- .github/workflows/humble-binary-downstream-build.yml | 2 +- .github/workflows/humble-coverage-build.yml | 2 +- .github/workflows/humble-debian-build.yml | 2 +- .github/workflows/humble-rhel-semi-binary-build.yml | 2 +- .github/workflows/rolling-abi-compatibility.yml | 2 +- .github/workflows/rolling-binary-build-win.yml | 2 +- .github/workflows/rolling-binary-build.yml | 2 +- .github/workflows/rolling-binary-downstream-build.yml | 2 +- .github/workflows/rolling-coverage-build.yml | 2 +- .github/workflows/rolling-debian-build.yml | 2 +- .github/workflows/rolling-rhel-semi-binary-build.yml | 2 +- .github/workflows/rolling-rosdoc2.yml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/humble-abi-compatibility.yml b/.github/workflows/humble-abi-compatibility.yml index d4fc5f98..61a7472b 100644 --- a/.github/workflows/humble-abi-compatibility.yml +++ b/.github/workflows/humble-abi-compatibility.yml @@ -8,7 +8,7 @@ on: concurrency: # cancel previous runs of the same workflow, except for pushes on humble branch group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'humble' }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} jobs: abi_check: diff --git a/.github/workflows/humble-binary-build-win.yml b/.github/workflows/humble-binary-build-win.yml index a9527653..2f1ea0f5 100644 --- a/.github/workflows/humble-binary-build-win.yml +++ b/.github/workflows/humble-binary-build-win.yml @@ -19,7 +19,7 @@ on: concurrency: # cancel previous runs of the same workflow, except for pushes on humble branch group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'humble' }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} jobs: binary-windows: diff --git a/.github/workflows/humble-binary-build.yml b/.github/workflows/humble-binary-build.yml index db903874..02a5b715 100644 --- a/.github/workflows/humble-binary-build.yml +++ b/.github/workflows/humble-binary-build.yml @@ -17,7 +17,7 @@ on: concurrency: # cancel previous runs of the same workflow, except for pushes on humble branch group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'humble' }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} jobs: binary: diff --git a/.github/workflows/humble-binary-downstream-build.yml b/.github/workflows/humble-binary-downstream-build.yml index 60af3a9d..7c9c3865 100644 --- a/.github/workflows/humble-binary-downstream-build.yml +++ b/.github/workflows/humble-binary-downstream-build.yml @@ -14,7 +14,7 @@ on: concurrency: # cancel previous runs of the same workflow, except for pushes on humble branch group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'humble' }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} jobs: build-downstream: diff --git a/.github/workflows/humble-coverage-build.yml b/.github/workflows/humble-coverage-build.yml index 743051f9..0bb7ef16 100644 --- a/.github/workflows/humble-coverage-build.yml +++ b/.github/workflows/humble-coverage-build.yml @@ -11,7 +11,7 @@ on: concurrency: # cancel previous runs of the same workflow, except for pushes on humble branch group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'humble' }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} jobs: coverage: diff --git a/.github/workflows/humble-debian-build.yml b/.github/workflows/humble-debian-build.yml index ca037fa4..c4673282 100644 --- a/.github/workflows/humble-debian-build.yml +++ b/.github/workflows/humble-debian-build.yml @@ -11,7 +11,7 @@ on: concurrency: # cancel previous runs of the same workflow, except for pushes on humble branch group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'humble' }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} jobs: debian_source_build: diff --git a/.github/workflows/humble-rhel-semi-binary-build.yml b/.github/workflows/humble-rhel-semi-binary-build.yml index d05a69f2..fea52cb6 100644 --- a/.github/workflows/humble-rhel-semi-binary-build.yml +++ b/.github/workflows/humble-rhel-semi-binary-build.yml @@ -11,7 +11,7 @@ on: concurrency: # cancel previous runs of the same workflow, except for pushes on humble branch group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'humble' }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} jobs: rhel_semi_binary_build: diff --git a/.github/workflows/rolling-abi-compatibility.yml b/.github/workflows/rolling-abi-compatibility.yml index 9007001c..76331f44 100644 --- a/.github/workflows/rolling-abi-compatibility.yml +++ b/.github/workflows/rolling-abi-compatibility.yml @@ -8,7 +8,7 @@ on: concurrency: # cancel previous runs of the same workflow, except for pushes on master branch group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'master' }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} jobs: abi_check: diff --git a/.github/workflows/rolling-binary-build-win.yml b/.github/workflows/rolling-binary-build-win.yml index e2e4800c..836da241 100644 --- a/.github/workflows/rolling-binary-build-win.yml +++ b/.github/workflows/rolling-binary-build-win.yml @@ -19,7 +19,7 @@ on: concurrency: # cancel previous runs of the same workflow, except for pushes on master branch group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'master' }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} jobs: binary-windows: diff --git a/.github/workflows/rolling-binary-build.yml b/.github/workflows/rolling-binary-build.yml index 42324727..78becc36 100644 --- a/.github/workflows/rolling-binary-build.yml +++ b/.github/workflows/rolling-binary-build.yml @@ -17,7 +17,7 @@ on: concurrency: # cancel previous runs of the same workflow, except for pushes on master branch group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'master' }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} jobs: binary: diff --git a/.github/workflows/rolling-binary-downstream-build.yml b/.github/workflows/rolling-binary-downstream-build.yml index fd33cc48..91efb7e3 100644 --- a/.github/workflows/rolling-binary-downstream-build.yml +++ b/.github/workflows/rolling-binary-downstream-build.yml @@ -14,7 +14,7 @@ on: concurrency: # cancel previous runs of the same workflow, except for pushes on master branch group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'master' }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} jobs: build-downstream: diff --git a/.github/workflows/rolling-coverage-build.yml b/.github/workflows/rolling-coverage-build.yml index 155f0ce0..bb0aaaa7 100644 --- a/.github/workflows/rolling-coverage-build.yml +++ b/.github/workflows/rolling-coverage-build.yml @@ -11,7 +11,7 @@ on: concurrency: # cancel previous runs of the same workflow, except for pushes on master branch group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'master' }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} jobs: coverage: diff --git a/.github/workflows/rolling-debian-build.yml b/.github/workflows/rolling-debian-build.yml index e1445c47..ae3ef3bc 100644 --- a/.github/workflows/rolling-debian-build.yml +++ b/.github/workflows/rolling-debian-build.yml @@ -11,7 +11,7 @@ on: concurrency: # cancel previous runs of the same workflow, except for pushes on master branch group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'master' }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} jobs: debian_source_build: diff --git a/.github/workflows/rolling-rhel-semi-binary-build.yml b/.github/workflows/rolling-rhel-semi-binary-build.yml index 9ff656b5..ab50864c 100644 --- a/.github/workflows/rolling-rhel-semi-binary-build.yml +++ b/.github/workflows/rolling-rhel-semi-binary-build.yml @@ -11,7 +11,7 @@ on: concurrency: # cancel previous runs of the same workflow, except for pushes on master branch group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'master' }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} jobs: rhel_semi_binary_build: diff --git a/.github/workflows/rolling-rosdoc2.yml b/.github/workflows/rolling-rosdoc2.yml index 0f537974..e938c644 100644 --- a/.github/workflows/rolling-rosdoc2.yml +++ b/.github/workflows/rolling-rosdoc2.yml @@ -13,7 +13,7 @@ on: concurrency: # cancel previous runs of the same workflow, except for pushes on master branch group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'master' }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} jobs: check: From fa521ebd9bf1d7d4af436090ece1b1758f24469d Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Fri, 6 Dec 2024 09:18:46 +0000 Subject: [PATCH 5/5] Add mergify setup --- .github/mergify.yml | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .github/mergify.yml diff --git a/.github/mergify.yml b/.github/mergify.yml new file mode 100644 index 00000000..84ad380e --- /dev/null +++ b/.github/mergify.yml @@ -0,0 +1,42 @@ +pull_request_rules: + - name: Backport to humble at reviewers discretion + conditions: + - base=master + - "label=backport-humble" + actions: + backport: + branches: + - humble + + - name: Ask to resolve conflict + conditions: + - conflict + - author!=mergify[bot] + - author!=dependabot[bot] + actions: + comment: + message: This pull request is in conflict. Could you fix it @{{author}}? + + - name: Ask to resolve conflict for backports + conditions: + - conflict + - author=mergify[bot] + actions: + comment: + message: This pull request is in conflict. Could you fix it @bmagyar @destogl @christophfroehlich @saikishor? + + - name: development targets master branch + conditions: + - base!=master + - author!=bmagyar + - author!=destogl + - author!=christophfroehlich + - author!=saikishor + - author!=mergify[bot] + - author!=dependabot[bot] + actions: + comment: + message: | + @{{author}}, all pull requests must be targeted towards the `master` development branch. + Once merged into `master`, it is possible to backport to `{{base}}`, but it must be in `master` + to have these changes reflected into new distributions.