Skip to content

ci(build-and-test): build this repository in core-dependencies-cuda - #5

Merged
xmfcx merged 1 commit into
mainfrom
ci/use-core-dependencies-cuda
Nov 4, 2026
Merged

xmfcx merged 1 commit into
mainfrom
ci/use-core-dependencies-cuda

Conversation

@xmfcx

@xmfcx xmfcx commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

The jobs that build only the packages of this repository now run in core-dependencies-cuda instead of universe-dependencies-cuda. autoware_cuda is a Core repository, and its CI no longer needs a universe image for these jobs. This is PR 5 of the plan in:

core-dependencies-cuda holds Core and the CUDA layer of Core, without autoware_cuda and cuda_blackboard. It is the CUDA version of the core-dependencies image that the CI of autoware_core uses. The image builds on base-cuda-devel, so it has CUDA and TensorRT. The images are published for Humble and Jazzy, on amd64 and arm64.

Changes

  • build-and-test.yaml and build-and-test-pr.yaml: the container is core-dependencies-cuda-<distro> when above is false, and universe-dependencies-cuda-<distro> when above is true.
  • build-and-test-reusable.yaml: the step "Remove self packages from underlay" runs only in the above jobs. core-dependencies-cuda does not hold the packages of this repository, so the step has nothing to remove there. The CI of autoware_core uses the same condition.

The above jobs stay on universe-dependencies-cuda, because they build autoware_universe packages, and those need the universe dependencies.

The plain jobs need no new rosdep step. The colcon-build action runs apt-get update and rosdep install for the target packages and their dependencies before it builds. The core-devel-cuda stage of the image pipeline runs the same rosdep install for these packages on the same base image, and it passed in the first main run with the core CUDA images.

AI usage

AI usage: Claude Code made the change from the plan in the issue above and the workflows of autoware_core, ran the checks below, and wrote this description.

Self-review: A clean context agent that did not write the change reviewed it in 1 round. It read the diff, the image Dockerfiles, the CI logs of this PR and of main, and the matching autoware_core workflows. It found no defect in the workflow logic, but found 3 defects in the PR text and 7 nits, which are not fixed yet.

Verification: The CI of this PR passed. The plain jobs ran in core-dependencies-cuda for Humble and Jazzy, and their tests match the last main run. Nothing ran locally except pre-commit.

pre-commit

  • pre-commit run --files .github/workflows/build-and-test*.yaml passed, prettier and yamllint included.
  • Not run: actionlint. It is not installed on this machine.

CI of this PR

Run 41448342012 on d74d582. All four build-and-test jobs passed.

  • build-and-test-humble and build-and-test-jazzy ran in core-dependencies-cuda-humble and core-dependencies-cuda-jazzy.
    • rosdep installed one package, ros-humble-tensorrt-cmake-module and ros-jazzy-tensorrt-cmake-module, and printed #All required rosdeps installed successfully.
    • colcon built 3 packages: Summary: 3 packages finished [31.1s] on Humble and [1min 5s] on Jazzy.
    • 100% tests passed, 0 tests failed out of 5 twice, [ PASSED ] 2 tests and [ PASSED ] 3 tests, and [ SKIPPED ] 15 tests and [ SKIPPED ] 10 tests. The skipped tests are in CudaUniquePtrTest, StreamUniquePtrTest, ThrustUtilsTest, CudaUtilsTest and TrtCommonIOTest. The CUDA tests print CUDA runtime is not available. Skipping test.
    • "Remove self packages from underlay" and "Import packages above" were skipped.
  • The Jazzy job of the last main run 41094000100, in universe-dependencies-cuda-jazzy, shows the same test lines: 5 out of 5 passed, 2 and 3 passed, 15 and 10 skipped.
  • build-and-test-humble-above and build-and-test-jazzy-above ran in universe-dependencies-cuda-humble and universe-dependencies-cuda-jazzy, as before.
    • "Remove self packages from underlay" ran and removed nothing. universe-dependencies-cuda does not hold autoware_cuda yet.
    • The import put COLCON_IGNORE into the copies of the 3 packages of this repository.
    • Summary: 57 packages finished [18min 43s] on Humble and [21min 16s] on Jazzy. The Test step passed for the 31 packages above.
  • Not run: a GPU test. The 25 skipped tests also skip on main.

Not run

The jobs that build only the packages of this repository now run in
core-dependencies-cuda instead of universe-dependencies-cuda. The image
holds Core and its CUDA layer without autoware_cuda and cuda_blackboard,
and the colcon-build action installs the dependencies of this repository
with rosdep.

The above jobs stay on universe-dependencies-cuda, because they build
autoware_universe packages. Only these jobs can find released copies of
this repository in /opt/autoware, so the step that removes them now runs
only in the above jobs.

Signed-off-by: Mete Fatih Cırıt <mfc@autoware.org>
@xmfcx xmfcx added run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) type:github-actions Github actions related. (auto-assigned) labels Nov 2, 2026
@xmfcx xmfcx self-assigned this Nov 2, 2026
@xmfcx
xmfcx marked this pull request as ready for review November 3, 2026 18:32
@xmfcx
xmfcx requested a review from a team as a code owner November 3, 2026 18:32
@xmfcx
xmfcx requested a review from mitsudome-r November 3, 2026 18:32
@xmfcx
xmfcx merged commit 6662d55 into main Nov 4, 2026
14 of 15 checks passed
@xmfcx
xmfcx deleted the ci/use-core-dependencies-cuda branch November 4, 2026 11:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) type:github-actions Github actions related. (auto-assigned)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants