-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(docker): integrate cuda
/no-cuda
jobs into single job
#5363
Conversation
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
This reverts commit 0c7459d.
Signed-off-by: Yutaka Kondo <[email protected]>
d63ab93
to
37adf25
Compare
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
One of the purposes of this PR is rather to stop the matrix, because in this organization, there is currently only one arm64 self-hosted runner available, and using the matrix would require double the execution time. |
@youtalk, thank you for the quick action and response, I understand (and agree) with the feedback. (I'm unable to resolve my own comments, sorry) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@youtalk I think in overal terms the PR solves the complicated nature of docker-build workflows and better utilizes the cache by seperating CUDA and non-CUDA builds.
But in the other hand Dockerfile would become rather complicated to track and maintain, since it is not preferrable to have multiple Dockerfiles I suggest putting some of the recurring scripts to a directory.
For example:
docker/
├── Dockerfile
├── scripts/
│ ├── install-rosdep-dependencies.sh
│ ├── build-ros-packages.sh
│ └── cleanup.sh
└── etc/
└── ros_entrypoint.sh
I think this kind of improvement can be done in a seperate PR, and I can draft a PR for that after this PR.
And also with this PR we are not doing health-check builds with CUDA anymore as i can understand or am i missing something ? And if so would it miss some CUDA related build fails ?
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
@oguzkaganozt I've fix a minor cache problem c009784. I hope the CI jobs will be succeeded. https://github.com/autowarefoundation/autoware/actions/runs/11718481450 @mitsudome-r @xmfcx |
Removed ✔️ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* chore(docker): remove `/autoware/log` after `colcon build` (autowarefoundation#5329) * chore(.github): always run `Show disk space` (autowarefoundation#5354) always show disk space Signed-off-by: Yutaka Kondo <[email protected]> * build(autoware.repos): remove ament_cmake fork repository (autowarefoundation#5360) Signed-off-by: Chengyong Lin <[email protected]> * fix: remove `ndt_omp` (autowarefoundation#5390) Removed ndt_omp Signed-off-by: Shintaro Sakoda <[email protected]> * fix: change the organization of `awsim_sensor_kit_launch` from RobotecAI to tier4 (autowarefoundation#5403) Fixed organization of `awsim_sensor_kit_launch` from RobotecAI to tier4 Signed-off-by: Shintaro Sakoda <[email protected]> * chore(.devcontainer): rename `.devcontainer` directories (autowarefoundation#5407) rename .devcontainer dirs Signed-off-by: Yutaka Kondo <[email protected]> * feat(docker): integrate `cuda`/`no-cuda` jobs into single job (autowarefoundation#5363) --------- Signed-off-by: Yutaka Kondo <[email protected]> Signed-off-by: Chengyong Lin <[email protected]> Signed-off-by: Shintaro Sakoda <[email protected]> Co-authored-by: chgyg <[email protected]> Co-authored-by: SakodaShintaro <[email protected]> Co-authored-by: SakodaShintaro <[email protected]>
@mitsudome-r @xmfcx Please add a required check for |
@youtalk -san, Do you mean to add But that workflow only runs on:
not every PR. What should I do then? |
Sorry, I've just realized it was part of the health-check. |
@xmfcx Thank you! |
* chore(docker): remove `/autoware/log` after `colcon build` (autowarefoundation#5329) * chore(.github): always run `Show disk space` (autowarefoundation#5354) always show disk space Signed-off-by: Yutaka Kondo <[email protected]> * build(autoware.repos): remove ament_cmake fork repository (autowarefoundation#5360) Signed-off-by: Chengyong Lin <[email protected]> * fix: remove `ndt_omp` (autowarefoundation#5390) Removed ndt_omp Signed-off-by: Shintaro Sakoda <[email protected]> * fix: change the organization of `awsim_sensor_kit_launch` from RobotecAI to tier4 (autowarefoundation#5403) Fixed organization of `awsim_sensor_kit_launch` from RobotecAI to tier4 Signed-off-by: Shintaro Sakoda <[email protected]> * chore(.devcontainer): rename `.devcontainer` directories (autowarefoundation#5407) rename .devcontainer dirs Signed-off-by: Yutaka Kondo <[email protected]> * feat(docker): integrate `cuda`/`no-cuda` jobs into single job (autowarefoundation#5363) * chore(.github): rename `bake-target` to `target-image` and add descriptions to args (autowarefoundation#5413) * rename target-image and add descriptions Signed-off-by: Yutaka Kondo <[email protected]> * fix feedback Signed-off-by: Yutaka Kondo <[email protected]> --------- Signed-off-by: Yutaka Kondo <[email protected]> * feat(docker): install CUDA development/runtime libraries only 1 time (autowarefoundation#5419) * add base-cuda Signed-off-by: Yutaka Kondo <[email protected]> * update svg Signed-off-by: Yutaka Kondo <[email protected]> * not cache cuda packages Signed-off-by: Yutaka Kondo <[email protected]> * push base-cuda image Signed-off-by: Yutaka Kondo <[email protected]> * Update docker-build-and-push.yaml * Update docker-build-and-push-arm64.yaml * separate jobs Signed-off-by: Yutaka Kondo <[email protected]> --------- Signed-off-by: Yutaka Kondo <[email protected]> * refactor(docker): replace the multiple `rosdep` commands with `resolve_rosdep_keys.sh`. (autowarefoundation#5424) * run resolve_rosdep_keys.sh Signed-off-by: Yutaka Kondo <[email protected]> * style(pre-commit): autofix * update .dockerignore Signed-off-by: Yutaka Kondo <[email protected]> * chmod +x Signed-off-by: Yutaka Kondo <[email protected]> * fix location Signed-off-by: Yutaka Kondo <[email protected]> * remove rosdep update Signed-off-by: Yutaka Kondo <[email protected]> --------- Signed-off-by: Yutaka Kondo <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * refactor(docker): replace the multiple `colcon` commands with `build_and_clean.sh`. (autowarefoundation#5425) * run resolve_rosdep_keys.sh Signed-off-by: Yutaka Kondo <[email protected]> * style(pre-commit): autofix * update .dockerignore Signed-off-by: Yutaka Kondo <[email protected]> * chmod +x Signed-off-by: Yutaka Kondo <[email protected]> * fix location Signed-off-by: Yutaka Kondo <[email protected]> * remove rosdep update Signed-off-by: Yutaka Kondo <[email protected]> * run build_and_clean.sh Signed-off-by: Yutaka Kondo <[email protected]> * style(pre-commit): autofix --------- Signed-off-by: Yutaka Kondo <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * refactor(docker): replace the multiple `rm -rf` commands with `cleanup_system.sh`. (autowarefoundation#5426) * fix(.github): fix `target-image` (autowarefoundation#5428) fix target-image Signed-off-by: Yutaka Kondo <[email protected]> * chore: remove tvm_utility artifacts from Ansible tasks (autowarefoundation#5427) Signed-off-by: Esteve Fernandez <[email protected]> --------- Signed-off-by: Yutaka Kondo <[email protected]> Signed-off-by: Chengyong Lin <[email protected]> Signed-off-by: Shintaro Sakoda <[email protected]> Signed-off-by: Esteve Fernandez <[email protected]> Co-authored-by: chgyg <[email protected]> Co-authored-by: SakodaShintaro <[email protected]> Co-authored-by: SakodaShintaro <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Esteve Fernandez <[email protected]>
Description
Resolved #5082
As a result of the activity autowarefoundation/autoware.universe#8695, the only packages dependent on CUDA are the
sensing/perception
components ofautoware.universe
. Therefore, the container images with the-cuda
suffix are actually only needed foruniverse-sensing-perception-devel
anduniverse-sensing-perception
.Additionally, since there is currently only one arm64 self-hosted runner, the
no-cuda/cuda
jobs in thedocker-build-and-push-arm64
workflow experience double the waiting time.This PR consolidates the
no-cuda/cuda
jobs and changes the process so that only the CUDA dependent packages in thesensing/perception
component are built in an additional stage.Tests performed
https://github.com/autowarefoundation/autoware/actions/runs/11718481450
https://github.com/autowarefoundation/autoware/actions/runs/11718483615
Effects on system behavior
Not applicable.
Interface changes
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.
In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.
Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.
After all checkboxes are checked, anyone who has write access can merge the PR.