-
Notifications
You must be signed in to change notification settings - Fork 3k
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(ci,docker): change vcs import
to COPY src
#4738
Conversation
Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp>
Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp>
Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp>
This reverts commit ebff10f.
Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp>
COPY src
instead of RUN vcs import
@oguzkaganozt Thank you for your review! I'm checking |
I think it was probably exceeding the disk size when saving the container image as a tar file. I'll consider countermeasures. |
Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp>
I hope the problem would be fixed. 6a9398d I'm checking @oguzkaganozt By the way, why is the |
Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp>
This is exactly why you should not merge this PR. The whole idea of containers is to reduce dependencies to streamline build and deployment. The user must be able to build using standard container tooling only. Please do not introduce more technical debt for nothing. |
The key motivation behind this PR is that @youtalk is currently seeking for a method to fasten Docker build process so that we can utilize docker images for developing latest features of Autoware. He's trying to use docker build cache, but since it won't detect the change in the code retrieved from Therefore, there is a trade-off between docker build time and complexity of docker build procedure at the moment. If we just think Alternatively, we could use Git submodule to simplify the command itself, but that would make a too big of a impact at this stage compared to the benefits we get. @doganulus If you can think of any good approach, could you share us your idea? |
Hi @mitsudome-r, I have shared a snippet of the solution here. It might be missed in a merged PR: #4712 (comment) Regarding this comment:
I think otherwise. Autoware should not ask users to install some packages too easily. As a user and developer, I don't want Autoware to mess with my local environment. Hence, the development environment must stay solely inside containers. This PR goes the opposite. That's the whole point. I oppose |
Uploading of images is necessary because you can test out the produced images without pushing them into the registry. Also it will be the part of whole CI-CD loop in the future by uploading the images into scenario cloud then from there we would test those images with pre-defined scenario simulations. |
@youtalk can rebase your branch with the latest main branch ? |
@doganulus the thing is, as we are importing all of the source files with an opaque So with the new src-imported layer we now have seperate layer just for I don't really know if this solution of yours would still detect source changes, so if you can create another branch with your solution then we can test out and see if excluding |
Please describe how you see a user or a developer to use these containers. How frequently? Then we can understand the thing you try to improve makes sense or not.
What would you need to produce after these efforts? I think these points are not clear. |
docker image expectations@doganulus in the first paragraph here you can see the use cases:
I would assume, the vcstool on the host machineTo me, vcs tool is an alternative to git submodules. Also relatively easy to install: I'm not good at docker caching mechanisms so I cannot comment on if this is the best approach. At least, it was the 2nd thing that was recommended by chatgpt, I didn't like its first proposal. What about just changing that run step?Instead of moving vcs out, would this approach work @youtalk -san? RUN --mount=type=ssh \
rm -rf src \
&& mkdir src \
&& vcs import src < autoware.repos \
&& apt-get update \
&& rosdep update \
&& DEBIAN_FRONTEND=noninteractive rosdep install -y --ignore-src --from-paths src --rosdistro "$ROS_DISTRO" \
&& apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* "$HOME"/.cache Unrelated topic@oguzkaganozt I was looking into https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/docker-installation/#prerequisites and noticed the setup-dev-env.sh doesn't have any "docker" references, so is this documentation wrong or outdated? |
…-outside-dockerfile
@xmfcx It has the same cache problem. The |
When executing |
@oguzkaganozt #4738 (comment) |
Both of |
* chore(docker): separate `rosdep install` and `colcon build` RUN commands (autowarefoundation#4719) * refactor(ci): reuse `load-env.yaml` to load env (autowarefoundation#4734) * reuse load-env.yaml to load env * update base_image Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * fix base_image Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * refactor(docker): introduce `src-imported` stage (autowarefoundation#4712) * introduce src-imported stage Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * empty Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * generate install package lists * append || true Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * cat packages Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * chore(docker): separate `rosdep install` and `colcon build` RUN commands (autowarefoundation#4719) * wip Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * wip Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * Update Dockerfile * Update Dockerfile * install pacmod * rename * Revert "install pacmod" This reverts commit ebff10f. * install pacmod3 * register pamod3 repos * ignore hadolint * revert * run set-dev-env.sh * pip install * copy * rosdep update --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * feat(docker): install minimum packages in `base` stage (autowarefoundation#4751) * install ssh only and copy only once Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * install gosu Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * fix dir Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * revert ansible Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * chore: add discussion templates for general category (autowarefoundation#4764) Signed-off-by: Ryohsuke Mitsudome <ryohsuke.mitsudome@tier4.jp> * feat(ci,docker): change `vcs import` to `COPY src` (autowarefoundation#4738) * introduce src-imported stage Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * empty Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * generate install package lists * append || true Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * cat packages Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * chore(docker): separate `rosdep install` and `colcon build` RUN commands (autowarefoundation#4719) * wip Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * wip Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * Update Dockerfile * Update Dockerfile * install pacmod * rename * Revert "install pacmod" This reverts commit ebff10f. * install pacmod3 * register pamod3 repos * ignore hadolint * revert * run set-dev-env.sh * pip install * copy * rosdep update * vcs import outside dockerfile Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * refine order and remove /autoware/src at last * fix hadolint * remove tar files Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * shell: bash Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * feat(docker,ansible): download artifacts at runtime (autowarefoundation#4771) * feat(ci): enable Docker build cache to 5 times faster container build (autowarefoundation#4730) * introduce src-imported stage Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * empty Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * generate install package lists * append || true Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * cat packages Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * chore(docker): separate `rosdep install` and `colcon build` RUN commands (autowarefoundation#4719) * wip Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * wip Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * Update Dockerfile * Update Dockerfile * install pacmod * rename * Revert "install pacmod" This reverts commit ebff10f. * install pacmod3 * register pamod3 repos * ignore hadolint * revert * run set-dev-env.sh * pip install * copy * rosdep update * vcs import outside dockerfile Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * enable docker build cache Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * empty Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * add no-cuda/cuda suffix Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * remove --download-artifacts Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * remove --download-artifacts Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * add --data-path option Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * wip Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * run download_artifacts Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * remove todo Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * revert run Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * feat(docker): cache `ccache` to the Docker build cache (autowarefoundation#4772) * fix: add download url of yolox with semantic segmentation header (autowarefoundation#4012) Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * chore: add error handling for held packages during rmw installation (autowarefoundation#4781) * chore: add error handling for held packages during apt installation Signed-off-by: Naophis <nao1288stusj@gmail.com> * feat: Add check for held ROS packages during installation Signed-off-by: Naophis <nao1288stusj@gmail.com> --------- Signed-off-by: Naophis <nao1288stusj@gmail.com> * refactor(docker,ci): rename `autoware-openadk` to `autoware` and `adkit` to `openadkit` (autowarefoundation#4785) * rename adkit to openadkit Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * rename autoware-openadkit to autoware Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * fix hcl path Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * feat(ci): disable `Upload Artifacts` on `docker-build-and-push` action (autowarefoundation#4789) * remove upload artifact Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * remove build and push Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * feat(docker): cache apt archives to the Docker build cache (autowarefoundation#4778) * mount apt cache Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * reorder Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * remove upload artifact Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * remove build and push Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * chore: update code owners (autowarefoundation#4797) Signed-off-by: M. Fatih Cırıt <mfc@leodrive.ai> * ci(pre-commit-ansible): autoupdate (autowarefoundation#4676) Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions <github-actions@github.com> * ci: pre-commit autoupdate (autowarefoundation#4670) [pre-commit.ci] pre-commit autoupdate updates: - [github.com/igorshubovych/markdownlint-cli: v0.39.0 → v0.41.0](igorshubovych/markdownlint-cli@v0.39.0...v0.41.0) - [github.com/AleksaC/hadolint-py: v2.12.1-beta → v2.12.1b3](AleksaC/hadolint-py@v2.12.1-beta...v2.12.1b3) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * ci(pre-commit): autoupdate (autowarefoundation#4662) Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions <github-actions@github.com> * ci(pre-commit-optional): autoupdate (autowarefoundation#4766) Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions <github-actions@github.com> * fix(ci): run `vsc import` on `build-main` workflows (autowarefoundation#4799) Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> Signed-off-by: Ryohsuke Mitsudome <ryohsuke.mitsudome@tier4.jp> Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> Signed-off-by: Naophis <nao1288stusj@gmail.com> Signed-off-by: M. Fatih Cırıt <mfc@leodrive.ai> Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com> Co-authored-by: badai nguyen <94814556+badai-nguyen@users.noreply.github.com> Co-authored-by: Naophis <nao1288stusj@gmail.com> Co-authored-by: M. Fatih Cırıt <xmfcx@users.noreply.github.com> Co-authored-by: awf-autoware-bot[bot] <94889083+awf-autoware-bot[bot]@users.noreply.github.com> Co-authored-by: github-actions <github-actions@github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* chore(docker): separate `rosdep install` and `colcon build` RUN commands (autowarefoundation#4719) * refactor(ci): reuse `load-env.yaml` to load env (autowarefoundation#4734) * reuse load-env.yaml to load env * update base_image Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * fix base_image Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * refactor(docker): introduce `src-imported` stage (autowarefoundation#4712) * introduce src-imported stage Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * empty Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * generate install package lists * append || true Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * cat packages Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * chore(docker): separate `rosdep install` and `colcon build` RUN commands (autowarefoundation#4719) * wip Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * wip Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * Update Dockerfile * Update Dockerfile * install pacmod * rename * Revert "install pacmod" This reverts commit ebff10f. * install pacmod3 * register pamod3 repos * ignore hadolint * revert * run set-dev-env.sh * pip install * copy * rosdep update --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * feat(docker): install minimum packages in `base` stage (autowarefoundation#4751) * install ssh only and copy only once Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * install gosu Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * fix dir Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * revert ansible Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * chore: add discussion templates for general category (autowarefoundation#4764) Signed-off-by: Ryohsuke Mitsudome <ryohsuke.mitsudome@tier4.jp> * feat(ci,docker): change `vcs import` to `COPY src` (autowarefoundation#4738) * introduce src-imported stage Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * empty Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * generate install package lists * append || true Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * cat packages Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * chore(docker): separate `rosdep install` and `colcon build` RUN commands (autowarefoundation#4719) * wip Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * wip Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * Update Dockerfile * Update Dockerfile * install pacmod * rename * Revert "install pacmod" This reverts commit ebff10f. * install pacmod3 * register pamod3 repos * ignore hadolint * revert * run set-dev-env.sh * pip install * copy * rosdep update * vcs import outside dockerfile Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * refine order and remove /autoware/src at last * fix hadolint * remove tar files Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * shell: bash Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * feat(docker,ansible): download artifacts at runtime (autowarefoundation#4771) * feat(ci): enable Docker build cache to 5 times faster container build (autowarefoundation#4730) * introduce src-imported stage Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * empty Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * generate install package lists * append || true Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * cat packages Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * chore(docker): separate `rosdep install` and `colcon build` RUN commands (autowarefoundation#4719) * wip Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * wip Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * Update Dockerfile * Update Dockerfile * install pacmod * rename * Revert "install pacmod" This reverts commit ebff10f. * install pacmod3 * register pamod3 repos * ignore hadolint * revert * run set-dev-env.sh * pip install * copy * rosdep update * vcs import outside dockerfile Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * enable docker build cache Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * empty Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * add no-cuda/cuda suffix Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * remove --download-artifacts Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * remove --download-artifacts Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * add --data-path option Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * wip Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * run download_artifacts Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * remove todo Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * revert run Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * feat(docker): cache `ccache` to the Docker build cache (autowarefoundation#4772) * fix: add download url of yolox with semantic segmentation header (autowarefoundation#4012) Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * chore: add error handling for held packages during rmw installation (autowarefoundation#4781) * chore: add error handling for held packages during apt installation Signed-off-by: Naophis <nao1288stusj@gmail.com> * feat: Add check for held ROS packages during installation Signed-off-by: Naophis <nao1288stusj@gmail.com> --------- Signed-off-by: Naophis <nao1288stusj@gmail.com> * refactor(docker,ci): rename `autoware-openadk` to `autoware` and `adkit` to `openadkit` (autowarefoundation#4785) * rename adkit to openadkit Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * rename autoware-openadkit to autoware Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * fix hcl path Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * feat(ci): disable `Upload Artifacts` on `docker-build-and-push` action (autowarefoundation#4789) * remove upload artifact Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * remove build and push Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * feat(docker): cache apt archives to the Docker build cache (autowarefoundation#4778) * mount apt cache Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * reorder Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * remove upload artifact Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * remove build and push Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * chore: update code owners (autowarefoundation#4797) Signed-off-by: M. Fatih Cırıt <mfc@leodrive.ai> * ci(pre-commit-ansible): autoupdate (autowarefoundation#4676) Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions <github-actions@github.com> * ci: pre-commit autoupdate (autowarefoundation#4670) [pre-commit.ci] pre-commit autoupdate updates: - [github.com/igorshubovych/markdownlint-cli: v0.39.0 → v0.41.0](igorshubovych/markdownlint-cli@v0.39.0...v0.41.0) - [github.com/AleksaC/hadolint-py: v2.12.1-beta → v2.12.1b3](AleksaC/hadolint-py@v2.12.1-beta...v2.12.1b3) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * ci(pre-commit): autoupdate (autowarefoundation#4662) Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions <github-actions@github.com> * ci(pre-commit-optional): autoupdate (autowarefoundation#4766) Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions <github-actions@github.com> * fix(ci): run `vsc import` on `build-main` workflows (autowarefoundation#4799) Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * feat(docker): cache `ccache` to the Docker build cache (autowarefoundation#4800) cache ccache again Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * chore: hold check of plotjuggler-ros package and display warning if held (autowarefoundation#4805) * chore: Hold check of plotjuggler-ros package and display warning if held Signed-off-by: Naophis <nao1288stusj@gmail.com> * chore: fix condition for checking held ROS package in dev_tools role Signed-off-by: Naophis <nao1288stusj@gmail.com> * style(pre-commit): autofix * chore: Update dev_tools role to fix condition for checking held ROS package Signed-off-by: Naophis <nao1288stusj@gmail.com> --------- Signed-off-by: Naophis <nao1288stusj@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(docker): revert "cache apt archives to the Docker build cache" (autowarefoundation#4793) Revert "feat(docker): cache apt archives to the Docker build cache (autowarefoundation#4778)" Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * chore(ci): add a workflow for DCO check to avoid DCO bot system failure (autowarefoundation#4825) Signed-off-by: Ryohsuke Mitsudome <ryohsuke.mitsudome@tier4.jp> * feat(ci): add CPU architecture suffixes to the Docker build cache (autowarefoundation#4826) * add arch prefix Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * rename Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * use lib_dir Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * change suffix Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * feat(simulator.repos): use autoware_msgs_support branch for scenario_simulator (autowarefoundation#4823) Signed-off-by: Ryohsuke Mitsudome <ryohsuke.mitsudome@tier4.jp> Co-authored-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * feat(ansible): add lidar_transfusion artifacts (autowarefoundation#4835) * refactor(docker): fix colcon `--cmake-args` (autowarefoundation#4828) fix colcon cmake-args Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * refactor(ci): use platform arg to replace raw string (autowarefoundation#4844) use platform arg to replace raw string Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * refactor(ci): install `vcstool` and run `vcs import` on `docker-build-and-push.yaml` (autowarefoundation#4845) * refactor docker-build-and-push Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * fix shell Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> Co-authored-by: oguzkaganozt <oguzkaganozt@gmail.com> * fix platform Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> Signed-off-by: Ryohsuke Mitsudome <ryohsuke.mitsudome@tier4.jp> Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> Signed-off-by: Naophis <nao1288stusj@gmail.com> Signed-off-by: M. Fatih Cırıt <mfc@leodrive.ai> Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com> Co-authored-by: badai nguyen <94814556+badai-nguyen@users.noreply.github.com> Co-authored-by: Naophis <nao1288stusj@gmail.com> Co-authored-by: M. Fatih Cırıt <xmfcx@users.noreply.github.com> Co-authored-by: awf-autoware-bot[bot] <94889083+awf-autoware-bot[bot]@users.noreply.github.com> Co-authored-by: github-actions <github-actions@github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Amadeusz Szymko <amadeuszszymko@gmail.com> Co-authored-by: oguzkaganozt <oguzkaganozt@gmail.com>
…n#4738) * introduce src-imported stage Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * empty Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * generate install package lists * append || true Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * cat packages Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * chore(docker): separate `rosdep install` and `colcon build` RUN commands (autowarefoundation#4719) * wip Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * wip Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * Update Dockerfile * Update Dockerfile * install pacmod * rename * Revert "install pacmod" This reverts commit ebff10f. * install pacmod3 * register pamod3 repos * ignore hadolint * revert * run set-dev-env.sh * pip install * copy * rosdep update * vcs import outside dockerfile Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * refine order and remove /autoware/src at last * fix hadolint * remove tar files Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> * shell: bash Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp> --------- Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp>
Description
src-imported
stage #4712This PR modifies the process by running
vcs import
on outside theDockerfile
and then copying thesrc
to theDockerfile
. This change resolves the issues #4730 (comment) and ensures thatdocker build
is correctly rerun when the source code is modified.I checked the Autoware Documentation and found that no documentation changes were necessary due to this modification.
https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/docker-installation/
Tests performed
Not applicable.
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.