-
Notifications
You must be signed in to change notification settings - Fork 14
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
Building inside docker container #293
Conversation
Maybe we can go with docker and non-docker builds in parallel for a while until we see it is stable. Also, we need non docker build if we want to verify build on mac-os |
@vmilosevic, thanks this looks awesome!
@vmilosevic, I'm OK with replacing our bare-metal ubuntu build with the docker version. We can keep the Mac build as is. @vmilosevic, don't hate me, but I think we need to upgrade to ubuntu 22.04 asap. I pinged you in the tt-mlir-ci channel with more info, but we need to upgrade metal to unblock compiler development and we need ubuntu 22.04 to upgrade metal. I know this seems counter to what metal docs/CI says, more details in slack if you're interested. With this in mind, maybe we want to just hold off and push our first docker container with metal upgrade all at once? That way folks can adopt the new docker workflow along with new metal all at once. |
looks awesome! |
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.
Thank you for the quick turnaround on 22.04, this looks great!
Building inside a docker container Adding support for running CI pipelines inside a docker container Added - Dockerfile based on Ubuntu 22.04 - Docker installs dependencies and prebuilds toolchain - Workflow for generating docker image - Workflow that runs build and tests using the docker container
Adding
The Dockerfile describes how to create an image for building the tt-mlir project file. It starts with a supported base image (Ubuntu 20.04) and installs the necessary packages. The purpose of the Docker build is to:
During the Docker build, the project is built and tests are run to ensure that everything is set up correctly. If any dependencies are missing, the Docker build will fail.
This process also prepopulates caches for Python packages and the ccache cache in the image, which should make subsequent builds faster.
Closes: #273