Skip to content
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

Enable multi-stage builds for Autoware #2447

Closed
3 of 10 tasks
kaspermeck-arm opened this issue Apr 28, 2022 · 7 comments
Closed
3 of 10 tasks

Enable multi-stage builds for Autoware #2447

kaspermeck-arm opened this issue Apr 28, 2022 · 7 comments
Labels
type:new-feature New functionalities or additions, feature requests.

Comments

@kaspermeck-arm
Copy link

kaspermeck-arm commented Apr 28, 2022

Checklist

  • I've read the contribution guidelines.
  • I've searched other issues and no duplicate issues were found.
  • I've agreed with the maintainers that I can plan this task.

Description

Enable multi-stage builds for Autoware (eg: using Docker Compose or another similar tool).

Purpose

Lay the ground work, with the right tool, to enable building Autoware.Universe as a microservices architecture.

Possible approaches

  • Use Docker Compose (this is the tool assumed in the definition of done steps below)

From https://docs.docker.com/compose/:
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration.

Definition of done

@kaspermeck-arm kaspermeck-arm added the type:new-feature New functionalities or additions, feature requests. label Apr 28, 2022
@kaspermeck-arm
Copy link
Author

@LalithVipulananthan
We would need a volunteer who could do the work for this issue, I'll be able to assist of course. From my knowledge, there's only one script which build the actual container image. The files can be found here:

  • /home/ubuntu/autoware/docker/build.sh
  • /home/ubuntu/autoware/docker/autoware-universe/Dockerfile
  • /home/ubuntu/autoware/docker/autoware-universe/docker-bake.hcl

Replacing the build.sh file would be the first step.

@kenji-miyake
Copy link
Contributor

@kasperornmeck cc @LalithVipulananthan
FYI, as written in https://github.com/autowarefoundation/autoware/blob/main/docker/README.md, build.sh is for the local build.

The actual images hosted on https://github.com/autowarefoundation/autoware/pkgs/container/autoware-universe are created by these workflows and actions.

Replacing the build.sh file would be the first step.

Regarding this part, could you first start with creating it as another script like build-compose.sh?
And after checking the behavior and reviewing it, I'd like to consider replacing it.

@kaspermeck-arm
Copy link
Author

@kenji-miyake
Thanks for sharing these links. I'll have to look more into these to understand the workflow in GitHub.

@kaspermeck-arm
Copy link
Author

@kenji-miyake
Does this mean that the developer environment container used in the cloud on GitHub is different from the developer container which would be used locally?

@kenji-miyake
Copy link
Contributor

@kasperornmeck No, they are not so different. The differences are just some settings.
To build Docker images with GitHub Actions, it's better to use useful third-party actions. But they can't be used in our local, so we need to change some settings to handle the differences.

@ghost ghost transferred this issue from autowarefoundation/autoware.universe May 24, 2022
@ghost
Copy link

ghost commented Jun 15, 2022

For the Perception PoC, to build all dependent components for perception, use the following command:
colcon build --packages-up-to tier4_perception_launch

@ghost ghost changed the title Docker Compose integration Enable multi-stage builds for Autoware Jun 22, 2022
@mitsudome-r mitsudome-r transferred this issue from autowarefoundation/autoware_core_universe_prototype Jun 26, 2022
@kaspermeck-arm
Copy link
Author

@BonoloAWF - I suggest we close this issue as it won't go anywhere and the issues this issue tries to solve is addressed in the DevOps Dojos.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:new-feature New functionalities or additions, feature requests.
Projects
Status: Done
Development

No branches or pull requests

3 participants