diff --git a/.github/actions/bootstrap/action.yml b/.github/actions/bootstrap/action.yml index cc03595fb..875a8025d 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 == 'false' run: pnpm run --filter ${{ inputs.package }}... build shell: bash 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 e939a5e4c..201892142 100644 --- a/.github/workflows/api-server.yml +++ b/.github/workflows/api-server.yml @@ -3,6 +3,7 @@ on: pull_request: paths: - '.github/workflows/api-server.yml' + - '.github/actions/bootstrap/action.yml' - '.github/minimal-rmf/**' - 'packages/api-server/**' push: @@ -18,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 }} @@ -32,16 +29,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@v5 - name: bootstrap uses: ./.github/actions/bootstrap with: @@ -49,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..4eb9870cd 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -15,7 +15,7 @@ jobs: matrix: ros_distribution: [jazzy, rolling] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to docker @@ -41,7 +41,7 @@ jobs: matrix: ros_distribution: [jazzy, rolling] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to docker @@ -68,7 +68,7 @@ jobs: matrix: ros_distribution: [jazzy, rolling] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to docker @@ -88,6 +88,146 @@ jobs: 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: [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-client + steps: + - name: Checkout main for rolling + if: matrix.ros_distribution == 'rolling' + uses: actions/checkout@v5 + - name: Checkout ros_distribution branch + if: matrix.ros_distribution != 'rolling' + uses: actions/checkout@v5 + 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: + - name: Checkout main for rolling + if: matrix.ros_distribution == 'rolling' + uses: actions/checkout@v5 + - name: Checkout ros_distribution branch + if: matrix.ros_distribution != 'rolling' + uses: actions/checkout@v5 + with: + 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: + - name: Checkout main for rolling + if: matrix.ros_distribution == 'rolling' + uses: actions/checkout@v5 + - name: Checkout ros_distribution branch + if: matrix.ros_distribution != 'rolling' + uses: actions/checkout@v5 + with: + ref: ${{ matrix.ros_distribution }} + - name: bootstrap + uses: ./.github/actions/bootstrap + with: + 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: + - name: Checkout main for rolling + if: matrix.ros_distribution == 'rolling' + uses: actions/checkout@v5 + - name: Checkout ros_distribution branch + if: matrix.ros_distribution != 'rolling' + uses: actions/checkout@v5 + with: + ref: ${{ matrix.ros_distribution }} + - name: dependencies + run: apt update && apt install ros-dev-tools -y + - name: bootstrap + 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: # strategy: # matrix: @@ -104,7 +244,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..e442d3702 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,21 +28,13 @@ 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 uses: ./.github/actions/bootstrap with: package: ros-translator + skip-build: true - name: test - run: . /opt/ros/${{ matrix.ros_distribution }}/setup.bash && pnpm test + run: . /opt/ros/rolling/setup.bash && pnpm test 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) 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) diff --git a/packages/rmf-dashboard-framework/package.json b/packages/rmf-dashboard-framework/package.json index 34e50d441..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": { 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', diff --git a/packages/ros-translator/ros_translator/pydantic/test/test.sh b/packages/ros-translator/ros_translator/pydantic/test/test.sh index 847f087ec..0372f7853 100755 --- a/packages/ros-translator/ros_translator/pydantic/test/test.sh +++ b/packages/ros-translator/ros_translator/pydantic/test/test.sh @@ -6,4 +6,4 @@ 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 +pnpm exec pyright out