From 014d70f28494dce94031d2c839e8963fc773f619 Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 13:00:08 +0800 Subject: [PATCH 01/19] test with parsing string logic Signed-off-by: Aaron Chong --- .github/actions/bootstrap/action.yml | 2 +- .github/workflows/api-server.yml | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/actions/bootstrap/action.yml b/.github/actions/bootstrap/action.yml index cc03595fb..b0f0112bc 100644 --- a/.github/actions/bootstrap/action.yml +++ b/.github/actions/bootstrap/action.yml @@ -15,6 +15,6 @@ runs: run: pnpm install -w --filter ${{ inputs.package }}... shell: bash - name: Build - if: ${{ inputs.skip-build == 'false' }} + if: inputs.skip-build != 'true' run: pnpm run --filter ${{ inputs.package }}... build shell: bash diff --git a/.github/workflows/api-server.yml b/.github/workflows/api-server.yml index e939a5e4c..babbbbfc3 100644 --- a/.github/workflows/api-server.yml +++ b/.github/workflows/api-server.yml @@ -1,10 +1,6 @@ name: api-server on: pull_request: - paths: - - '.github/workflows/api-server.yml' - - '.github/minimal-rmf/**' - - 'packages/api-server/**' push: branches: - main From e29c1481124ba697118569a42dc5c3067944cf8a Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 13:39:55 +0800 Subject: [PATCH 02/19] remove build step to test Signed-off-by: Aaron Chong --- .github/actions/bootstrap/action.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/actions/bootstrap/action.yml b/.github/actions/bootstrap/action.yml index b0f0112bc..d57473b7d 100644 --- a/.github/actions/bootstrap/action.yml +++ b/.github/actions/bootstrap/action.yml @@ -14,7 +14,3 @@ runs: - name: Install dependencies run: pnpm install -w --filter ${{ inputs.package }}... shell: bash - - name: Build - if: inputs.skip-build != 'true' - run: pnpm run --filter ${{ inputs.package }}... build - shell: bash From 4a6ea00ed6b0b2a4c22813e71f50c71c3d2252ee Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 13:42:45 +0800 Subject: [PATCH 03/19] run when action changes Signed-off-by: Aaron Chong --- .github/workflows/api-server.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/api-server.yml b/.github/workflows/api-server.yml index babbbbfc3..ca92c94a4 100644 --- a/.github/workflows/api-server.yml +++ b/.github/workflows/api-server.yml @@ -1,6 +1,11 @@ name: api-server on: pull_request: + paths: + - '.github/workflows/api-server.yml' + - '.github/actions/bootstrap/action.yml' + - '.github/minimal-rmf/**' + - 'packages/api-server/**' push: branches: - main From d90a5c4b86990e7f169fbe484e8ecb194a31319b Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 13:54:44 +0800 Subject: [PATCH 04/19] run with basic checkout Signed-off-by: Aaron Chong --- .github/workflows/api-server.yml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/api-server.yml b/.github/workflows/api-server.yml index ca92c94a4..ae58972aa 100644 --- a/.github/workflows/api-server.yml +++ b/.github/workflows/api-server.yml @@ -33,16 +33,7 @@ jobs: shell: bash working-directory: packages/api-server steps: - - name: Checkout main for rolling - if: matrix.ros_distribution == 'rolling' - uses: actions/checkout@v4 - with: - ref: main - - name: Checkout ros_distribution branch - if: matrix.ros_distribution != 'rolling' - uses: actions/checkout@v4 - with: - ref: ${{ matrix.ros_distribution }} + - uses: actions/checkout@v4 - name: bootstrap uses: ./.github/actions/bootstrap with: From f55b990f8bc4205d97c3bde3be2976891151e9fd Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 14:01:49 +0800 Subject: [PATCH 05/19] revert action step, fix test_tasks Signed-off-by: Aaron Chong --- .github/actions/bootstrap/action.yml | 4 ++++ packages/api-server/api_server/routes/tasks/test_tasks.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/actions/bootstrap/action.yml b/.github/actions/bootstrap/action.yml index d57473b7d..875a8025d 100644 --- a/.github/actions/bootstrap/action.yml +++ b/.github/actions/bootstrap/action.yml @@ -14,3 +14,7 @@ runs: - name: Install dependencies run: pnpm install -w --filter ${{ inputs.package }}... shell: bash + - name: Build + if: inputs.skip-build == 'false' + run: pnpm run --filter ${{ inputs.package }}... build + shell: bash diff --git a/packages/api-server/api_server/routes/tasks/test_tasks.py b/packages/api-server/api_server/routes/tasks/test_tasks.py index c48cb4433..c5d832816 100644 --- a/packages/api-server/api_server/routes/tasks/test_tasks.py +++ b/packages/api-server/api_server/routes/tasks/test_tasks.py @@ -236,7 +236,7 @@ def test_cancel_task(self): resp = self.client.post( "/tasks/cancel_task", content=mdl.CancelTaskRequest( - type="cancel_task_request" + type="cancel_task_request", task_id="task_id", labels=None ).model_dump_json(exclude_none=True), ) self.assertEqual(200, resp.status_code, resp.content) From dbd36876bace0256e63ec91abb309f22420abab6 Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 15:12:32 +0800 Subject: [PATCH 06/19] Run tests on checked out commits only, switch matrix to nightly Signed-off-by: Aaron Chong --- .github/workflows/api-client.yml | 18 +- .github/workflows/api-server.yml | 10 +- .github/workflows/nightly.yml | 264 ++++++++++++++---- .github/workflows/rmf-dashboard-framework.yml | 18 +- .github/workflows/ros-translator.yml | 20 +- 5 files changed, 219 insertions(+), 111 deletions(-) diff --git a/.github/workflows/api-client.yml b/.github/workflows/api-client.yml index e53392f4d..d6cb113d3 100644 --- a/.github/workflows/api-client.yml +++ b/.github/workflows/api-client.yml @@ -3,6 +3,7 @@ on: pull_request: paths: - '.github/workflows/api-client.yml' + - '.github/actions/bootstrap/action.yml' - '.github/minimal-rmf/**' - 'packages/api-client/**' push: @@ -15,12 +16,8 @@ jobs: unit-tests: name: Unit Tests runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - ros_distribution: [jazzy, rolling] container: - image: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + image: ghcr.io/${{ github.repository }}/minimal-rmf:rolling-nightly credentials: username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} @@ -29,16 +26,7 @@ jobs: shell: bash working-directory: packages/api-client steps: - - name: Checkout main for rolling - if: matrix.ros_distribution == 'rolling' - uses: actions/checkout@v4 - with: - ref: main - - name: Checkout ros_distribution branch - if: matrix.ros_distribution != 'rolling' - uses: actions/checkout@v4 - with: - ref: ${{ matrix.ros_distribution }} + - uses: actions/checkout@v5 - name: bootstrap uses: ./.github/actions/bootstrap with: diff --git a/.github/workflows/api-server.yml b/.github/workflows/api-server.yml index ae58972aa..201892142 100644 --- a/.github/workflows/api-server.yml +++ b/.github/workflows/api-server.yml @@ -19,12 +19,8 @@ jobs: tests: name: Tests runs-on: ubuntu-24.04 - strategy: - fail-fast: false - matrix: - ros_distribution: [jazzy, rolling] container: - image: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + image: ghcr.io/${{ github.repository }}/minimal-rmf:rolling-nightly credentials: username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} @@ -33,7 +29,7 @@ jobs: shell: bash working-directory: packages/api-server steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: bootstrap uses: ./.github/actions/bootstrap with: @@ -41,7 +37,7 @@ jobs: skip-build: true - name: tests run: | - . /opt/ros/${{ matrix.ros_distribution }}/setup.bash + . /opt/ros/rolling/setup.bash pnpm run lint pnpm run test:cov -v ../../.venv/bin/python -m coverage xml diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 1393c6d9b..e3d18b0e5 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -3,91 +3,239 @@ on: schedule: # 2am SGT - cron: '0 18 * * *' + pull_request: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: - build-minimal-rmf-docker-images: - name: Push minimal-rmf Docker image to GitHub Packages + # build-minimal-rmf-docker-images: + # name: Push minimal-rmf Docker image to GitHub Packages + # runs-on: ubuntu-24.04 + # strategy: + # fail-fast: false + # matrix: + # ros_distribution: [jazzy, rolling] + # steps: + # - uses: actions/checkout@v5 + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + # - name: Login to docker + # uses: docker/login-action@v3 + # with: + # registry: ghcr.io + # username: ${{ github.actor }} + # password: ${{ secrets.GITHUB_TOKEN }} + # - name: Build and push minimal-rmf + # uses: docker/build-push-action@v5 + # with: + # push: true + # build-args: | + # ROS_DISTRO=${{ matrix.ros_distribution }} + # tags: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + # context: .github/minimal-rmf + # build-dashboard-image: + # needs: build-minimal-rmf-docker-images + # name: Push Dashboard docker image to GitHub Packages + # runs-on: ubuntu-24.04 + # strategy: + # fail-fast: false + # matrix: + # ros_distribution: [jazzy, rolling] + # steps: + # - uses: actions/checkout@v5 + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + # - name: Login to docker + # uses: docker/login-action@v3 + # with: + # registry: ghcr.io + # username: ${{ github.actor }} + # password: ${{ secrets.GITHUB_TOKEN }} + # - name: Build and push demo-dashboard + # uses: docker/build-push-action@v5 + # with: + # push: true + # build-args: | + # BASE_IMAGE=ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + # ROS_DISTRO=${{ matrix.ros_distribution }} + # tags: ghcr.io/${{ github.repository }}/demo-dashboard:${{ matrix.ros_distribution }}-nightly + # context: .github/demo-dashboard + # build-api-server-image: + # needs: build-minimal-rmf-docker-images + # name: Push API server docker image to GitHub Packages + # runs-on: ubuntu-24.04 + # strategy: + # fail-fast: false + # matrix: + # ros_distribution: [jazzy, rolling] + # steps: + # - uses: actions/checkout@v5 + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + # - name: Login to docker + # uses: docker/login-action@v3 + # with: + # registry: ghcr.io + # username: ${{ github.actor }} + # password: ${{ secrets.GITHUB_TOKEN }} + # - name: Build and push api-server + # uses: docker/build-push-action@v5 + # with: + # push: true + # build-args: | + # ROS_DISTRO=${{ matrix.ros_distribution }} + # BASE_IMAGE=ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + # tags: | + # ghcr.io/${{ github.repository }}/api-server:${{ matrix.ros_distribution }}-nightly + # ${{ matrix.ros_distribution == 'rolling' && format('ghcr.io/{0}/api-server:latest', github.repository) || null}} + # context: .github/api-server + api-client: + # needs: build-minimal-rmf-docker-images + name: Test API client + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ros_distribution: [rolling] + container: + image: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + credentials: + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + defaults: + run: + shell: bash + working-directory: packages/api-client + steps: + - name: Checkout main for rolling + if: matrix.ros_distribution == 'rolling' + uses: actions/checkout@v4 + with: + ref: main + - name: Checkout ros_distribution branch + if: matrix.ros_distribution != 'rolling' + uses: actions/checkout@v4 + with: + ref: ${{ matrix.ros_distribution }} + - name: bootstrap + uses: ./.github/actions/bootstrap + with: + package: api-client + - name: lint + run: pnpm run lint + - name: test + run: pnpm test + api-server: + # needs: build-minimal-rmf-docker-images + name: Test API server runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: ros_distribution: [jazzy, rolling] + container: + image: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + credentials: + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + defaults: + run: + shell: bash + working-directory: packages/api-server steps: - - uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Login to docker - uses: docker/login-action@v3 + - name: Checkout main for rolling + if: matrix.ros_distribution == 'rolling' + uses: actions/checkout@v5 with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Build and push minimal-rmf - uses: docker/build-push-action@v5 + ref: main + - name: Checkout ros_distribution branch + if: matrix.ros_distribution != 'rolling' + uses: actions/checkout@v5 with: - push: true - build-args: | - ROS_DISTRO=${{ matrix.ros_distribution }} - tags: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly - context: .github/minimal-rmf - build-dashboard-image: - needs: build-minimal-rmf-docker-images - name: Push Dashboard docker image to GitHub Packages + ref: ${{ matrix.ros_distribution }} + - name: bootstrap + uses: ./.github/actions/bootstrap + with: + package: api-server + skip-build: true + - name: tests + run: | + . /opt/ros/${{ matrix.ros_distribution }}/setup.bash + pnpm run lint + pnpm run test + rmf-dashboard-framework: + # needs: build-minimal-rmf-docker-images + name: Test dashboard framework runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: ros_distribution: [jazzy, rolling] + container: + image: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + credentials: + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + defaults: + run: + shell: bash + working-directory: packages/rmf-dashboard-framework steps: - - uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Login to docker - uses: docker/login-action@v3 + - name: Checkout main for rolling + if: matrix.ros_distribution == 'rolling' + uses: actions/checkout@v5 + with: + ref: main + - name: Checkout ros_distribution branch + if: matrix.ros_distribution != 'rolling' + uses: actions/checkout@v5 with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Build and push demo-dashboard - uses: docker/build-push-action@v5 + ref: rolling + - name: bootstrap + uses: ./.github/actions/bootstrap with: - push: true - build-args: | - BASE_IMAGE=ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly - ROS_DISTRO=${{ matrix.ros_distribution }} - tags: ghcr.io/${{ github.repository }}/demo-dashboard:${{ matrix.ros_distribution }}-nightly - context: .github/demo-dashboard - build-api-server-image: - needs: build-minimal-rmf-docker-images - name: Push API server docker image to GitHub Packages + package: rmf-dashboard-framework + skip-build: true + - name: lint + run: pnpm lint + - name: unit test + run: pnpm run test + ros-translator: + # needs: build-minimal-rmf-docker-images + name: Test ros-translator runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: ros_distribution: [jazzy, rolling] + container: + image: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + credentials: + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + defaults: + run: + shell: bash + working-directory: packages/ros-translator steps: - - uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Login to docker - uses: docker/login-action@v3 + - name: Checkout main for rolling + if: matrix.ros_distribution == 'rolling' + uses: actions/checkout@v5 + with: + ref: main + - name: Checkout ros_distribution branch + if: matrix.ros_distribution != 'rolling' + uses: actions/checkout@v5 with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Build and push api-server - uses: docker/build-push-action@v5 + ref: ${{ matrix.ros_distribution }} + - name: dependencies + run: apt update && apt install ros-dev-tools -y + - name: bootstrap + uses: ./.github/actions/bootstrap with: - push: true - build-args: | - ROS_DISTRO=${{ matrix.ros_distribution }} - BASE_IMAGE=ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly - tags: | - ghcr.io/${{ github.repository }}/api-server:${{ matrix.ros_distribution }}-nightly - ${{ matrix.ros_distribution == 'rolling' && format('ghcr.io/{0}/api-server:latest', github.repository) || null}} - context: .github/api-server + package: ros-translator + - name: test + run: . /opt/ros/${{ matrix.ros_distribution }}/setup.bash && pnpm test # dashboard-e2e: # strategy: # matrix: @@ -104,7 +252,7 @@ jobs: # shell: bash # working-directory: packages/dashboard-e2e # steps: - # - uses: actions/checkout@v4 + # - uses: actions/checkout@v5 # - name: bootstrap # uses: ./.github/actions/bootstrap # with: diff --git a/.github/workflows/rmf-dashboard-framework.yml b/.github/workflows/rmf-dashboard-framework.yml index 9cdf9d78a..3a6c1e71c 100644 --- a/.github/workflows/rmf-dashboard-framework.yml +++ b/.github/workflows/rmf-dashboard-framework.yml @@ -3,6 +3,7 @@ on: pull_request: paths: - '.github/workflows/rmf-dashboard-framework.yml' + - '.github/actions/bootstrap/action.yml' - '.github/minimal-rmf/**' - 'packages/rmf-dashboard-framework/**' - 'packages/rmf-models/**' @@ -19,12 +20,8 @@ jobs: unit-tests: name: Unit Tests runs-on: ubuntu-24.04 - strategy: - fail-fast: false - matrix: - ros_distribution: [jazzy, rolling] container: - image: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + image: ghcr.io/${{ github.repository }}/minimal-rmf:rolling-nightly credentials: username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} @@ -33,16 +30,7 @@ jobs: shell: bash working-directory: packages/rmf-dashboard-framework steps: - - name: Checkout main for rolling - if: matrix.ros_distribution == 'rolling' - uses: actions/checkout@v4 - with: - ref: main - - name: Checkout ros_distribution branch - if: matrix.ros_distribution != 'rolling' - uses: actions/checkout@v4 - with: - ref: ${{ matrix.ros_distribution }} + - uses: actions/checkout@v5 - name: bootstrap uses: ./.github/actions/bootstrap with: diff --git a/.github/workflows/ros-translator.yml b/.github/workflows/ros-translator.yml index 20b9c4ad1..5150bad8b 100644 --- a/.github/workflows/ros-translator.yml +++ b/.github/workflows/ros-translator.yml @@ -3,6 +3,7 @@ on: pull_request: paths: - '.github/workflows/ros-translator.yml' + - '.github/actions/bootstrap/action.yml' - '.github/minimal-rmf/**' - 'packages/ros-translator/**' push: @@ -17,12 +18,8 @@ jobs: unit-tests: name: Unit Tests runs-on: ubuntu-24.04 - strategy: - fail-fast: false - matrix: - ros_distribution: [jazzy, rolling] container: - image: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + image: ghcr.io/${{ github.repository }}/minimal-rmf:rolling-nightly credentials: username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} @@ -31,16 +28,7 @@ jobs: shell: bash working-directory: packages/ros-translator steps: - - name: Checkout main for rolling - if: matrix.ros_distribution == 'rolling' - uses: actions/checkout@v4 - with: - ref: main - - name: Checkout ros_distribution branch - if: matrix.ros_distribution != 'rolling' - uses: actions/checkout@v4 - with: - ref: ${{ matrix.ros_distribution }} + - uses: actions/checkout@v5 - name: dependencies run: apt update && apt install ros-dev-tools -y - name: bootstrap @@ -48,4 +36,4 @@ jobs: with: package: ros-translator - name: test - run: . /opt/ros/${{ matrix.ros_distribution }}/setup.bash && pnpm test + run: . /opt/ros/rolling/setup.bash && pnpm test From fe22b1967ecdc566b32b63bf3211cb612a9711b1 Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 15:17:31 +0800 Subject: [PATCH 07/19] api-client Signed-off-by: Aaron Chong --- packages/api-client/lib/openapi/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/api-client/lib/openapi/index.ts b/packages/api-client/lib/openapi/index.ts index 016918014..950014808 100644 --- a/packages/api-client/lib/openapi/index.ts +++ b/packages/api-client/lib/openapi/index.ts @@ -1,5 +1,5 @@ /* tslint:disable */ -/* eslint-disable */ + /** * RMF API Server * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) From 18a6acdd375f32b5e40f767ec1cc8747fd5a0f7e Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 15:32:26 +0800 Subject: [PATCH 08/19] checkout to default branch if distro is rolling Signed-off-by: Aaron Chong --- .github/workflows/nightly.yml | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index e3d18b0e5..0bd2e21e0 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -96,7 +96,7 @@ jobs: strategy: fail-fast: false matrix: - ros_distribution: [rolling] + ros_distribution: [jazzy, rolling] container: image: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly credentials: @@ -109,12 +109,10 @@ jobs: steps: - name: Checkout main for rolling if: matrix.ros_distribution == 'rolling' - uses: actions/checkout@v4 - with: - ref: main + uses: actions/checkout@v5 - name: Checkout ros_distribution branch if: matrix.ros_distribution != 'rolling' - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: ref: ${{ matrix.ros_distribution }} - name: bootstrap @@ -146,8 +144,6 @@ jobs: - name: Checkout main for rolling if: matrix.ros_distribution == 'rolling' uses: actions/checkout@v5 - with: - ref: main - name: Checkout ros_distribution branch if: matrix.ros_distribution != 'rolling' uses: actions/checkout@v5 @@ -184,8 +180,6 @@ jobs: - name: Checkout main for rolling if: matrix.ros_distribution == 'rolling' uses: actions/checkout@v5 - with: - ref: main - name: Checkout ros_distribution branch if: matrix.ros_distribution != 'rolling' uses: actions/checkout@v5 @@ -221,8 +215,6 @@ jobs: - name: Checkout main for rolling if: matrix.ros_distribution == 'rolling' uses: actions/checkout@v5 - with: - ref: main - name: Checkout ros_distribution branch if: matrix.ros_distribution != 'rolling' uses: actions/checkout@v5 From d1dad8642d8f716907503020f59d56c5cd3dcca4 Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 15:41:01 +0800 Subject: [PATCH 09/19] checkout to temp fix branch for non-rolling distro Signed-off-by: Aaron Chong --- .github/workflows/nightly.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 0bd2e21e0..70aa06a39 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -114,7 +114,8 @@ jobs: if: matrix.ros_distribution != 'rolling' uses: actions/checkout@v5 with: - ref: ${{ matrix.ros_distribution }} + # ref: ${{ matrix.ros_distribution }} + ref: fix-jazzy-ci - name: bootstrap uses: ./.github/actions/bootstrap with: @@ -148,7 +149,8 @@ jobs: if: matrix.ros_distribution != 'rolling' uses: actions/checkout@v5 with: - ref: ${{ matrix.ros_distribution }} + # ref: ${{ matrix.ros_distribution }} + ref: fix-jazzy-ci - name: bootstrap uses: ./.github/actions/bootstrap with: @@ -184,7 +186,8 @@ jobs: if: matrix.ros_distribution != 'rolling' uses: actions/checkout@v5 with: - ref: rolling + # ref: ${{ matrix.ros_distribution }} + ref: fix-jazzy-ci - name: bootstrap uses: ./.github/actions/bootstrap with: @@ -219,7 +222,8 @@ jobs: if: matrix.ros_distribution != 'rolling' uses: actions/checkout@v5 with: - ref: ${{ matrix.ros_distribution }} + # ref: ${{ matrix.ros_distribution }} + ref: fix-jazzy-ci - name: dependencies run: apt update && apt install ros-dev-tools -y - name: bootstrap From 6db5eb4397ac8c70adcae4955781a69db0d3b116 Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 16:09:23 +0800 Subject: [PATCH 10/19] ros-translator Signed-off-by: Aaron Chong --- .github/workflows/nightly.yml | 1 + .github/workflows/ros-translator.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 70aa06a39..fdd65f703 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -230,6 +230,7 @@ jobs: uses: ./.github/actions/bootstrap with: package: ros-translator + skip-build: true - name: test run: . /opt/ros/${{ matrix.ros_distribution }}/setup.bash && pnpm test # dashboard-e2e: diff --git a/.github/workflows/ros-translator.yml b/.github/workflows/ros-translator.yml index 5150bad8b..e442d3702 100644 --- a/.github/workflows/ros-translator.yml +++ b/.github/workflows/ros-translator.yml @@ -35,5 +35,6 @@ jobs: uses: ./.github/actions/bootstrap with: package: ros-translator + skip-build: true - name: test run: . /opt/ros/rolling/setup.bash && pnpm test From 6f9f9e39b210613973407497f296788e0c15673a Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 16:30:12 +0800 Subject: [PATCH 11/19] use pushd popd Signed-off-by: Aaron Chong --- packages/ros-translator/ros_translator/pydantic/test/test.sh | 3 ++- packages/ros-translator/ros_translator/typescript/test/test.sh | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/ros-translator/ros_translator/pydantic/test/test.sh b/packages/ros-translator/ros_translator/pydantic/test/test.sh index 847f087ec..5137d9b9f 100755 --- a/packages/ros-translator/ros_translator/pydantic/test/test.sh +++ b/packages/ros-translator/ros_translator/pydantic/test/test.sh @@ -1,9 +1,10 @@ #!/bin/bash set -e -cd $(dirname $0) +pushd $(dirname $0) rm -rf out python -m ros_translator -t=pydantic -o=out ros_translator_test_msgs echo 'test build' echo 'ok' pnpm exec pyright ros_translator/pydantic/test/out +popd diff --git a/packages/ros-translator/ros_translator/typescript/test/test.sh b/packages/ros-translator/ros_translator/typescript/test/test.sh index 45c40f5d4..f50ab8688 100755 --- a/packages/ros-translator/ros_translator/typescript/test/test.sh +++ b/packages/ros-translator/ros_translator/typescript/test/test.sh @@ -1,10 +1,11 @@ #!/bin/bash set -e -cd $(dirname $0) +pushd $(dirname $0) rm -rf out python -m ros_translator -t=typescript -o=out ros_translator_test_msgs echo 'test build' tsc --noEmit echo 'ok' ts-node -T ../../../node_modules/jasmine/bin/jasmine.js "$@" +popd From 7438b9c090d8cd52e31753b023df46913e042c4f Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 16:43:13 +0800 Subject: [PATCH 12/19] check path Signed-off-by: Aaron Chong --- packages/ros-translator/ros_translator/pydantic/test/test.sh | 5 +++-- .../ros-translator/ros_translator/typescript/test/test.sh | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/ros-translator/ros_translator/pydantic/test/test.sh b/packages/ros-translator/ros_translator/pydantic/test/test.sh index 5137d9b9f..a88440ccb 100755 --- a/packages/ros-translator/ros_translator/pydantic/test/test.sh +++ b/packages/ros-translator/ros_translator/pydantic/test/test.sh @@ -1,10 +1,11 @@ #!/bin/bash set -e -pushd $(dirname $0) +cd $(dirname $0) +realpath . rm -rf out python -m ros_translator -t=pydantic -o=out ros_translator_test_msgs echo 'test build' echo 'ok' +realpath . pnpm exec pyright ros_translator/pydantic/test/out -popd diff --git a/packages/ros-translator/ros_translator/typescript/test/test.sh b/packages/ros-translator/ros_translator/typescript/test/test.sh index f50ab8688..f4702e32d 100755 --- a/packages/ros-translator/ros_translator/typescript/test/test.sh +++ b/packages/ros-translator/ros_translator/typescript/test/test.sh @@ -1,11 +1,12 @@ #!/bin/bash set -e -pushd $(dirname $0) +cd $(dirname $0) +realpath . rm -rf out python -m ros_translator -t=typescript -o=out ros_translator_test_msgs echo 'test build' tsc --noEmit echo 'ok' +realpath . ts-node -T ../../../node_modules/jasmine/bin/jasmine.js "$@" -popd From 47d4e9efc05fe3ed0a05fd5aa9e45c56e5ce31d4 Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 16:49:15 +0800 Subject: [PATCH 13/19] use out directly without path Signed-off-by: Aaron Chong --- packages/ros-translator/ros_translator/pydantic/test/test.sh | 4 +--- .../ros-translator/ros_translator/typescript/test/test.sh | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/ros-translator/ros_translator/pydantic/test/test.sh b/packages/ros-translator/ros_translator/pydantic/test/test.sh index a88440ccb..0372f7853 100755 --- a/packages/ros-translator/ros_translator/pydantic/test/test.sh +++ b/packages/ros-translator/ros_translator/pydantic/test/test.sh @@ -2,10 +2,8 @@ set -e cd $(dirname $0) -realpath . rm -rf out python -m ros_translator -t=pydantic -o=out ros_translator_test_msgs echo 'test build' echo 'ok' -realpath . -pnpm exec pyright ros_translator/pydantic/test/out +pnpm exec pyright out diff --git a/packages/ros-translator/ros_translator/typescript/test/test.sh b/packages/ros-translator/ros_translator/typescript/test/test.sh index f4702e32d..45c40f5d4 100755 --- a/packages/ros-translator/ros_translator/typescript/test/test.sh +++ b/packages/ros-translator/ros_translator/typescript/test/test.sh @@ -2,11 +2,9 @@ set -e cd $(dirname $0) -realpath . rm -rf out python -m ros_translator -t=typescript -o=out ros_translator_test_msgs echo 'test build' tsc --noEmit echo 'ok' -realpath . ts-node -T ../../../node_modules/jasmine/bin/jasmine.js "$@" From 5f6a26be0f9cf8905f12fe0be07a061c677a1968 Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 17:37:06 +0800 Subject: [PATCH 14/19] add dev deps and lint Signed-off-by: Aaron Chong --- packages/rmf-dashboard-framework/package.json | 2 ++ packages/rmf-dashboard-framework/src/components/map/map.tsx | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/rmf-dashboard-framework/package.json b/packages/rmf-dashboard-framework/package.json index 34e50d441..d86ca4320 100644 --- a/packages/rmf-dashboard-framework/package.json +++ b/packages/rmf-dashboard-framework/package.json @@ -72,12 +72,14 @@ "@testing-library/user-event": "^14.5.2", "@vitejs/plugin-react-swc": "^3.7.0", "@vitest/coverage-v8": "^3.0.5", + "api-client": "file:../api-client", "api-server": "file:../api-server", "concurrently": "^8.2.2", "eslint": "^9.20.0", "history": "^5.3.0", "jsdom": "^24.1.1", "storybook": "^8.3.3", + "rmf-models": "file:../rmf-models", "typescript": "~5.5.4", "typescript-json-schema": "^0.64.0", "vite": "^5.3.5", diff --git a/packages/rmf-dashboard-framework/src/components/map/map.tsx b/packages/rmf-dashboard-framework/src/components/map/map.tsx index 03145a484..3a201a279 100644 --- a/packages/rmf-dashboard-framework/src/components/map/map.tsx +++ b/packages/rmf-dashboard-framework/src/components/map/map.tsx @@ -520,7 +520,7 @@ export const Map = styled((props: MapProps) => { onCreated={({ camera }) => { let sceneBoundingBoxToUse = sceneBoundingBox; if (!sceneBoundingBoxToUse) { - let alertRequest: AlertRequest = { + const alertRequest: AlertRequest = { id: `scene-bounding-${new Date().toLocaleTimeString()}`, unix_millis_alert_time: new Date().getTime(), title: 'Map rendering error', From da171b3dec66136b8f95c3ac35f19c3e8831d2e5 Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 17:38:43 +0800 Subject: [PATCH 15/19] use workspace Signed-off-by: Aaron Chong --- packages/rmf-dashboard-framework/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/rmf-dashboard-framework/package.json b/packages/rmf-dashboard-framework/package.json index d86ca4320..9cc5b6c86 100644 --- a/packages/rmf-dashboard-framework/package.json +++ b/packages/rmf-dashboard-framework/package.json @@ -72,14 +72,14 @@ "@testing-library/user-event": "^14.5.2", "@vitejs/plugin-react-swc": "^3.7.0", "@vitest/coverage-v8": "^3.0.5", - "api-client": "file:../api-client", + "api-client": "workspace:*", "api-server": "file:../api-server", "concurrently": "^8.2.2", "eslint": "^9.20.0", "history": "^5.3.0", "jsdom": "^24.1.1", + "rmf-models": "workspace:*", "storybook": "^8.3.3", - "rmf-models": "file:../rmf-models", "typescript": "~5.5.4", "typescript-json-schema": "^0.64.0", "vite": "^5.3.5", From 80958bfb2ebf361a693ace310cbb5c3479957104 Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 17:42:14 +0800 Subject: [PATCH 16/19] revert devdeps, add build command before lint and test Signed-off-by: Aaron Chong --- packages/rmf-dashboard-framework/package.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/rmf-dashboard-framework/package.json b/packages/rmf-dashboard-framework/package.json index 9cc5b6c86..6deb6b230 100644 --- a/packages/rmf-dashboard-framework/package.json +++ b/packages/rmf-dashboard-framework/package.json @@ -7,10 +7,10 @@ "build:example": "pnpm run --filter {.}^... build && vite -c examples/shared/vite.config.ts build", "build-storybook": "storybook build", "gen-app-config-schema": "pnpm typescript-json-schema tsconfig.gen.json AppConfig --required -o app-config.schema.json", - "lint": "tsc --build && eslint --max-warnings 0 src", + "lint": "pnpm --filter=rmf-dashboard-framework^... build && tsc --build && eslint --max-warnings 0 src", "start:example": "pnpm --filter=rmf-dashboard-framework^... build && vite -c examples/shared/vite.config.ts", "storybook": "storybook dev -p 6006", - "test": "vitest", + "test": "pnpm --filter=rmf-dashboard-framework^... build && vitest", "test:coverage": "vitest --coverage" }, "peerDependencies": { @@ -72,13 +72,11 @@ "@testing-library/user-event": "^14.5.2", "@vitejs/plugin-react-swc": "^3.7.0", "@vitest/coverage-v8": "^3.0.5", - "api-client": "workspace:*", "api-server": "file:../api-server", "concurrently": "^8.2.2", "eslint": "^9.20.0", "history": "^5.3.0", "jsdom": "^24.1.1", - "rmf-models": "workspace:*", "storybook": "^8.3.3", "typescript": "~5.5.4", "typescript-json-schema": "^0.64.0", From 22d7a7f0845d5dd86628fe3568808afa656374b6 Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 17:55:06 +0800 Subject: [PATCH 17/19] revert changes in nightly Signed-off-by: Aaron Chong --- .github/workflows/nightly.yml | 183 +++++++++++++++++----------------- 1 file changed, 89 insertions(+), 94 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index fdd65f703..4eb9870cd 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -3,94 +3,93 @@ on: schedule: # 2am SGT - cron: '0 18 * * *' - pull_request: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: - # build-minimal-rmf-docker-images: - # name: Push minimal-rmf Docker image to GitHub Packages - # runs-on: ubuntu-24.04 - # strategy: - # fail-fast: false - # matrix: - # ros_distribution: [jazzy, rolling] - # steps: - # - uses: actions/checkout@v5 - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v3 - # - name: Login to docker - # uses: docker/login-action@v3 - # with: - # registry: ghcr.io - # username: ${{ github.actor }} - # password: ${{ secrets.GITHUB_TOKEN }} - # - name: Build and push minimal-rmf - # uses: docker/build-push-action@v5 - # with: - # push: true - # build-args: | - # ROS_DISTRO=${{ matrix.ros_distribution }} - # tags: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly - # context: .github/minimal-rmf - # build-dashboard-image: - # needs: build-minimal-rmf-docker-images - # name: Push Dashboard docker image to GitHub Packages - # runs-on: ubuntu-24.04 - # strategy: - # fail-fast: false - # matrix: - # ros_distribution: [jazzy, rolling] - # steps: - # - uses: actions/checkout@v5 - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v3 - # - name: Login to docker - # uses: docker/login-action@v3 - # with: - # registry: ghcr.io - # username: ${{ github.actor }} - # password: ${{ secrets.GITHUB_TOKEN }} - # - name: Build and push demo-dashboard - # uses: docker/build-push-action@v5 - # with: - # push: true - # build-args: | - # BASE_IMAGE=ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly - # ROS_DISTRO=${{ matrix.ros_distribution }} - # tags: ghcr.io/${{ github.repository }}/demo-dashboard:${{ matrix.ros_distribution }}-nightly - # context: .github/demo-dashboard - # build-api-server-image: - # needs: build-minimal-rmf-docker-images - # name: Push API server docker image to GitHub Packages - # runs-on: ubuntu-24.04 - # strategy: - # fail-fast: false - # matrix: - # ros_distribution: [jazzy, rolling] - # steps: - # - uses: actions/checkout@v5 - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v3 - # - name: Login to docker - # uses: docker/login-action@v3 - # with: - # registry: ghcr.io - # username: ${{ github.actor }} - # password: ${{ secrets.GITHUB_TOKEN }} - # - name: Build and push api-server - # uses: docker/build-push-action@v5 - # with: - # push: true - # build-args: | - # ROS_DISTRO=${{ matrix.ros_distribution }} - # BASE_IMAGE=ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly - # tags: | - # ghcr.io/${{ github.repository }}/api-server:${{ matrix.ros_distribution }}-nightly - # ${{ matrix.ros_distribution == 'rolling' && format('ghcr.io/{0}/api-server:latest', github.repository) || null}} - # context: .github/api-server + build-minimal-rmf-docker-images: + name: Push minimal-rmf Docker image to GitHub Packages + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + ros_distribution: [jazzy, rolling] + steps: + - uses: actions/checkout@v5 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to docker + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push minimal-rmf + uses: docker/build-push-action@v5 + with: + push: true + build-args: | + ROS_DISTRO=${{ matrix.ros_distribution }} + tags: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + context: .github/minimal-rmf + build-dashboard-image: + needs: build-minimal-rmf-docker-images + name: Push Dashboard docker image to GitHub Packages + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + ros_distribution: [jazzy, rolling] + steps: + - uses: actions/checkout@v5 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to docker + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push demo-dashboard + uses: docker/build-push-action@v5 + with: + push: true + build-args: | + BASE_IMAGE=ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + ROS_DISTRO=${{ matrix.ros_distribution }} + tags: ghcr.io/${{ github.repository }}/demo-dashboard:${{ matrix.ros_distribution }}-nightly + context: .github/demo-dashboard + build-api-server-image: + needs: build-minimal-rmf-docker-images + name: Push API server docker image to GitHub Packages + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + ros_distribution: [jazzy, rolling] + steps: + - uses: actions/checkout@v5 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to docker + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push api-server + uses: docker/build-push-action@v5 + with: + push: true + build-args: | + ROS_DISTRO=${{ matrix.ros_distribution }} + BASE_IMAGE=ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + tags: | + ghcr.io/${{ github.repository }}/api-server:${{ matrix.ros_distribution }}-nightly + ${{ matrix.ros_distribution == 'rolling' && format('ghcr.io/{0}/api-server:latest', github.repository) || null}} + context: .github/api-server api-client: - # needs: build-minimal-rmf-docker-images + needs: build-minimal-rmf-docker-images name: Test API client runs-on: ubuntu-latest strategy: @@ -114,8 +113,7 @@ jobs: if: matrix.ros_distribution != 'rolling' uses: actions/checkout@v5 with: - # ref: ${{ matrix.ros_distribution }} - ref: fix-jazzy-ci + ref: ${{ matrix.ros_distribution }} - name: bootstrap uses: ./.github/actions/bootstrap with: @@ -125,7 +123,7 @@ jobs: - name: test run: pnpm test api-server: - # needs: build-minimal-rmf-docker-images + needs: build-minimal-rmf-docker-images name: Test API server runs-on: ubuntu-24.04 strategy: @@ -149,8 +147,7 @@ jobs: if: matrix.ros_distribution != 'rolling' uses: actions/checkout@v5 with: - # ref: ${{ matrix.ros_distribution }} - ref: fix-jazzy-ci + ref: ${{ matrix.ros_distribution }} - name: bootstrap uses: ./.github/actions/bootstrap with: @@ -162,7 +159,7 @@ jobs: pnpm run lint pnpm run test rmf-dashboard-framework: - # needs: build-minimal-rmf-docker-images + needs: build-minimal-rmf-docker-images name: Test dashboard framework runs-on: ubuntu-24.04 strategy: @@ -186,8 +183,7 @@ jobs: if: matrix.ros_distribution != 'rolling' uses: actions/checkout@v5 with: - # ref: ${{ matrix.ros_distribution }} - ref: fix-jazzy-ci + ref: ${{ matrix.ros_distribution }} - name: bootstrap uses: ./.github/actions/bootstrap with: @@ -198,7 +194,7 @@ jobs: - name: unit test run: pnpm run test ros-translator: - # needs: build-minimal-rmf-docker-images + needs: build-minimal-rmf-docker-images name: Test ros-translator runs-on: ubuntu-24.04 strategy: @@ -222,8 +218,7 @@ jobs: if: matrix.ros_distribution != 'rolling' uses: actions/checkout@v5 with: - # ref: ${{ matrix.ros_distribution }} - ref: fix-jazzy-ci + ref: ${{ matrix.ros_distribution }} - name: dependencies run: apt update && apt install ros-dev-tools -y - name: bootstrap From 6624f41539c28fe2074fc24381c88078ecacf95e Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 18:08:49 +0800 Subject: [PATCH 18/19] test against jazzy Signed-off-by: Aaron Chong --- .github/workflows/nightly.yml | 171 +++++++++++++++++----------------- 1 file changed, 86 insertions(+), 85 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 4eb9870cd..3de3d2395 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -3,93 +3,94 @@ on: schedule: # 2am SGT - cron: '0 18 * * *' + pull_request: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: - build-minimal-rmf-docker-images: - name: Push minimal-rmf Docker image to GitHub Packages - runs-on: ubuntu-24.04 - strategy: - fail-fast: false - matrix: - ros_distribution: [jazzy, rolling] - steps: - - uses: actions/checkout@v5 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Login to docker - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Build and push minimal-rmf - uses: docker/build-push-action@v5 - with: - push: true - build-args: | - ROS_DISTRO=${{ matrix.ros_distribution }} - tags: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly - context: .github/minimal-rmf - build-dashboard-image: - needs: build-minimal-rmf-docker-images - name: Push Dashboard docker image to GitHub Packages - runs-on: ubuntu-24.04 - strategy: - fail-fast: false - matrix: - ros_distribution: [jazzy, rolling] - steps: - - uses: actions/checkout@v5 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Login to docker - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Build and push demo-dashboard - uses: docker/build-push-action@v5 - with: - push: true - build-args: | - BASE_IMAGE=ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly - ROS_DISTRO=${{ matrix.ros_distribution }} - tags: ghcr.io/${{ github.repository }}/demo-dashboard:${{ matrix.ros_distribution }}-nightly - context: .github/demo-dashboard - build-api-server-image: - needs: build-minimal-rmf-docker-images - name: Push API server docker image to GitHub Packages - runs-on: ubuntu-24.04 - strategy: - fail-fast: false - matrix: - ros_distribution: [jazzy, rolling] - steps: - - uses: actions/checkout@v5 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Login to docker - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Build and push api-server - uses: docker/build-push-action@v5 - with: - push: true - build-args: | - ROS_DISTRO=${{ matrix.ros_distribution }} - BASE_IMAGE=ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly - tags: | - ghcr.io/${{ github.repository }}/api-server:${{ matrix.ros_distribution }}-nightly - ${{ matrix.ros_distribution == 'rolling' && format('ghcr.io/{0}/api-server:latest', github.repository) || null}} - context: .github/api-server + # build-minimal-rmf-docker-images: + # name: Push minimal-rmf Docker image to GitHub Packages + # runs-on: ubuntu-24.04 + # strategy: + # fail-fast: false + # matrix: + # ros_distribution: [jazzy, rolling] + # steps: + # - uses: actions/checkout@v5 + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + # - name: Login to docker + # uses: docker/login-action@v3 + # with: + # registry: ghcr.io + # username: ${{ github.actor }} + # password: ${{ secrets.GITHUB_TOKEN }} + # - name: Build and push minimal-rmf + # uses: docker/build-push-action@v5 + # with: + # push: true + # build-args: | + # ROS_DISTRO=${{ matrix.ros_distribution }} + # tags: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + # context: .github/minimal-rmf + # build-dashboard-image: + # needs: build-minimal-rmf-docker-images + # name: Push Dashboard docker image to GitHub Packages + # runs-on: ubuntu-24.04 + # strategy: + # fail-fast: false + # matrix: + # ros_distribution: [jazzy, rolling] + # steps: + # - uses: actions/checkout@v5 + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + # - name: Login to docker + # uses: docker/login-action@v3 + # with: + # registry: ghcr.io + # username: ${{ github.actor }} + # password: ${{ secrets.GITHUB_TOKEN }} + # - name: Build and push demo-dashboard + # uses: docker/build-push-action@v5 + # with: + # push: true + # build-args: | + # BASE_IMAGE=ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + # ROS_DISTRO=${{ matrix.ros_distribution }} + # tags: ghcr.io/${{ github.repository }}/demo-dashboard:${{ matrix.ros_distribution }}-nightly + # context: .github/demo-dashboard + # build-api-server-image: + # needs: build-minimal-rmf-docker-images + # name: Push API server docker image to GitHub Packages + # runs-on: ubuntu-24.04 + # strategy: + # fail-fast: false + # matrix: + # ros_distribution: [jazzy, rolling] + # steps: + # - uses: actions/checkout@v5 + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + # - name: Login to docker + # uses: docker/login-action@v3 + # with: + # registry: ghcr.io + # username: ${{ github.actor }} + # password: ${{ secrets.GITHUB_TOKEN }} + # - name: Build and push api-server + # uses: docker/build-push-action@v5 + # with: + # push: true + # build-args: | + # ROS_DISTRO=${{ matrix.ros_distribution }} + # BASE_IMAGE=ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + # tags: | + # ghcr.io/${{ github.repository }}/api-server:${{ matrix.ros_distribution }}-nightly + # ${{ matrix.ros_distribution == 'rolling' && format('ghcr.io/{0}/api-server:latest', github.repository) || null}} + # context: .github/api-server api-client: - needs: build-minimal-rmf-docker-images + # needs: build-minimal-rmf-docker-images name: Test API client runs-on: ubuntu-latest strategy: @@ -123,7 +124,7 @@ jobs: - name: test run: pnpm test api-server: - needs: build-minimal-rmf-docker-images + # needs: build-minimal-rmf-docker-images name: Test API server runs-on: ubuntu-24.04 strategy: @@ -159,7 +160,7 @@ jobs: pnpm run lint pnpm run test rmf-dashboard-framework: - needs: build-minimal-rmf-docker-images + # needs: build-minimal-rmf-docker-images name: Test dashboard framework runs-on: ubuntu-24.04 strategy: @@ -194,7 +195,7 @@ jobs: - name: unit test run: pnpm run test ros-translator: - needs: build-minimal-rmf-docker-images + # needs: build-minimal-rmf-docker-images name: Test ros-translator runs-on: ubuntu-24.04 strategy: From 464b24b4245858a2ab3c8fb23b141c90ccd5136e Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Fri, 20 Feb 2026 18:17:35 +0800 Subject: [PATCH 19/19] revert test Signed-off-by: Aaron Chong --- .github/workflows/nightly.yml | 171 +++++++++++++++++----------------- 1 file changed, 85 insertions(+), 86 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 3de3d2395..4eb9870cd 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -3,94 +3,93 @@ on: schedule: # 2am SGT - cron: '0 18 * * *' - pull_request: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: - # build-minimal-rmf-docker-images: - # name: Push minimal-rmf Docker image to GitHub Packages - # runs-on: ubuntu-24.04 - # strategy: - # fail-fast: false - # matrix: - # ros_distribution: [jazzy, rolling] - # steps: - # - uses: actions/checkout@v5 - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v3 - # - name: Login to docker - # uses: docker/login-action@v3 - # with: - # registry: ghcr.io - # username: ${{ github.actor }} - # password: ${{ secrets.GITHUB_TOKEN }} - # - name: Build and push minimal-rmf - # uses: docker/build-push-action@v5 - # with: - # push: true - # build-args: | - # ROS_DISTRO=${{ matrix.ros_distribution }} - # tags: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly - # context: .github/minimal-rmf - # build-dashboard-image: - # needs: build-minimal-rmf-docker-images - # name: Push Dashboard docker image to GitHub Packages - # runs-on: ubuntu-24.04 - # strategy: - # fail-fast: false - # matrix: - # ros_distribution: [jazzy, rolling] - # steps: - # - uses: actions/checkout@v5 - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v3 - # - name: Login to docker - # uses: docker/login-action@v3 - # with: - # registry: ghcr.io - # username: ${{ github.actor }} - # password: ${{ secrets.GITHUB_TOKEN }} - # - name: Build and push demo-dashboard - # uses: docker/build-push-action@v5 - # with: - # push: true - # build-args: | - # BASE_IMAGE=ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly - # ROS_DISTRO=${{ matrix.ros_distribution }} - # tags: ghcr.io/${{ github.repository }}/demo-dashboard:${{ matrix.ros_distribution }}-nightly - # context: .github/demo-dashboard - # build-api-server-image: - # needs: build-minimal-rmf-docker-images - # name: Push API server docker image to GitHub Packages - # runs-on: ubuntu-24.04 - # strategy: - # fail-fast: false - # matrix: - # ros_distribution: [jazzy, rolling] - # steps: - # - uses: actions/checkout@v5 - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v3 - # - name: Login to docker - # uses: docker/login-action@v3 - # with: - # registry: ghcr.io - # username: ${{ github.actor }} - # password: ${{ secrets.GITHUB_TOKEN }} - # - name: Build and push api-server - # uses: docker/build-push-action@v5 - # with: - # push: true - # build-args: | - # ROS_DISTRO=${{ matrix.ros_distribution }} - # BASE_IMAGE=ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly - # tags: | - # ghcr.io/${{ github.repository }}/api-server:${{ matrix.ros_distribution }}-nightly - # ${{ matrix.ros_distribution == 'rolling' && format('ghcr.io/{0}/api-server:latest', github.repository) || null}} - # context: .github/api-server + build-minimal-rmf-docker-images: + name: Push minimal-rmf Docker image to GitHub Packages + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + ros_distribution: [jazzy, rolling] + steps: + - uses: actions/checkout@v5 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to docker + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push minimal-rmf + uses: docker/build-push-action@v5 + with: + push: true + build-args: | + ROS_DISTRO=${{ matrix.ros_distribution }} + tags: ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + context: .github/minimal-rmf + build-dashboard-image: + needs: build-minimal-rmf-docker-images + name: Push Dashboard docker image to GitHub Packages + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + ros_distribution: [jazzy, rolling] + steps: + - uses: actions/checkout@v5 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to docker + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push demo-dashboard + uses: docker/build-push-action@v5 + with: + push: true + build-args: | + BASE_IMAGE=ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + ROS_DISTRO=${{ matrix.ros_distribution }} + tags: ghcr.io/${{ github.repository }}/demo-dashboard:${{ matrix.ros_distribution }}-nightly + context: .github/demo-dashboard + build-api-server-image: + needs: build-minimal-rmf-docker-images + name: Push API server docker image to GitHub Packages + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + ros_distribution: [jazzy, rolling] + steps: + - uses: actions/checkout@v5 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to docker + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push api-server + uses: docker/build-push-action@v5 + with: + push: true + build-args: | + ROS_DISTRO=${{ matrix.ros_distribution }} + BASE_IMAGE=ghcr.io/${{ github.repository }}/minimal-rmf:${{ matrix.ros_distribution }}-nightly + tags: | + ghcr.io/${{ github.repository }}/api-server:${{ matrix.ros_distribution }}-nightly + ${{ matrix.ros_distribution == 'rolling' && format('ghcr.io/{0}/api-server:latest', github.repository) || null}} + context: .github/api-server api-client: - # needs: build-minimal-rmf-docker-images + needs: build-minimal-rmf-docker-images name: Test API client runs-on: ubuntu-latest strategy: @@ -124,7 +123,7 @@ jobs: - name: test run: pnpm test api-server: - # needs: build-minimal-rmf-docker-images + needs: build-minimal-rmf-docker-images name: Test API server runs-on: ubuntu-24.04 strategy: @@ -160,7 +159,7 @@ jobs: pnpm run lint pnpm run test rmf-dashboard-framework: - # needs: build-minimal-rmf-docker-images + needs: build-minimal-rmf-docker-images name: Test dashboard framework runs-on: ubuntu-24.04 strategy: @@ -195,7 +194,7 @@ jobs: - name: unit test run: pnpm run test ros-translator: - # needs: build-minimal-rmf-docker-images + needs: build-minimal-rmf-docker-images name: Test ros-translator runs-on: ubuntu-24.04 strategy: