From af4668f7e8b2662693827d9cafaf40acb70e6fbe Mon Sep 17 00:00:00 2001 From: Luke Schmitt Date: Tue, 23 Jul 2024 20:40:35 +0000 Subject: [PATCH 1/4] Add CI workflow --- .github/workflows/ci.yaml | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .github/workflows/ci.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..58202bb --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,40 @@ +name: CI + +on: + push: + branches: + - main + paths-ignore: + pull_request: + branches: + - main + paths-ignore: + workflow_dispatch: + +# Limit jobs run by PRs or branches by cancelling ongoing jobs +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-concurrency-and-the-default-behavior +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + build_and_test: + strategy: + matrix: + env: + - {ROS_DISTRO: humble, ROS_REPO: testing} + - {ROS_DISTRO: humble, ROS_REPO: main} + + runs-on: ubuntu-latest + container: + image: ubuntu:jammy + steps: + - uses: actions/checkout@v4 + - uses: ros-tooling/setup-ros@v0.7 + with: + use-ros2-testing: true + required-ros-distributions: humble + - uses: ros-tooling/action-ros-ci@v0.3 + with: + target-ros2-distro: humble + import-token: ${{ secrets.ACTION_ROS_CI_REPO_KEY }} From 2175cd3c98e878db3a5d0af815340f1672b729c6 Mon Sep 17 00:00:00 2001 From: Luke Schmitt Date: Tue, 23 Jul 2024 20:41:23 +0000 Subject: [PATCH 2/4] Remove unused secret --- .github/workflows/ci.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 58202bb..869e5e6 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -37,4 +37,3 @@ jobs: - uses: ros-tooling/action-ros-ci@v0.3 with: target-ros2-distro: humble - import-token: ${{ secrets.ACTION_ROS_CI_REPO_KEY }} From 19b7992d00773653b99e29996cd1abe21d5e2b6b Mon Sep 17 00:00:00 2001 From: Luke Schmitt Date: Tue, 23 Jul 2024 20:41:49 +0000 Subject: [PATCH 3/4] Remove unused paths-ignore --- .github/workflows/ci.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 869e5e6..af82850 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -4,11 +4,9 @@ on: push: branches: - main - paths-ignore: pull_request: branches: - main - paths-ignore: workflow_dispatch: # Limit jobs run by PRs or branches by cancelling ongoing jobs From aa786838fe41de5355ddada5ff2d20c0b3eccbdd Mon Sep 17 00:00:00 2001 From: Luke Schmitt Date: Thu, 25 Jul 2024 15:59:28 +0000 Subject: [PATCH 4/4] Matrix all ROS 2 distros, don't fail fast --- .github/workflows/ci.yaml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index af82850..a186728 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -18,20 +18,27 @@ concurrency: jobs: build_and_test: strategy: + fail-fast: false matrix: env: - - {ROS_DISTRO: humble, ROS_REPO: testing} - - {ROS_DISTRO: humble, ROS_REPO: main} + - ROS_DISTRO: humble + IMAGE: ubuntu:jammy + - ROS_DISTRO: iron + IMAGE: ubuntu:jammy + - ROS_DISTRO: jazzy + IMAGE: ubuntu:noble + - ROS_DISTRO: rolling + IMAGE: ubuntu:noble runs-on: ubuntu-latest container: - image: ubuntu:jammy + image: ${{ matrix.env.IMAGE }} steps: - uses: actions/checkout@v4 - uses: ros-tooling/setup-ros@v0.7 with: use-ros2-testing: true - required-ros-distributions: humble + required-ros-distributions: ${{ matrix.env.ROS_DISTRO }} - uses: ros-tooling/action-ros-ci@v0.3 with: - target-ros2-distro: humble + target-ros2-distro: ${{ matrix.env.ROS_DISTRO }}