autowarefoundation / autoware

Autoware - the world's leading open-source software project for autonomous driving
https://www.autoware.org/
Apache License 2.0
8.58k stars 2.87k forks source link

feat(docker,ci): mount `.ccache` by bind mount instead of cache mount #4829

Closed youtalk closed 3 weeks ago

youtalk commented 3 weeks ago

Description

Up until now, I had been using --mount=type=cache to mount the ccache directory in the Dockerfile, but I found that when the layer cache of the Docker build cache is invalidated, ccache also ends up being empty. Therefore, by mounting the host's ccache directory using --mount=type=bind, this PR can avoid the impact of the Docker build cache. This ccache directory is saved as a cache in GitHub Actions, allowing it to be reused in subsequent builds.

https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/reference.md#run---mount

Tests performed

https://github.com/autowarefoundation/autoware/actions/runs/9396442321

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.