Transition MaxText docker image build workflow to package-based installation#3788
Transition MaxText docker image build workflow to package-based installation#3788SurbhiJainUSC wants to merge 1 commit intomainfrom
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
57e66e4 to
8b9df5e
Compare
8b9df5e to
bd2fb51
Compare
|
🤖 Hi @SurbhiJainUSC, I've received your request, and I'm working on it now! You can track my progress in the logs for more details. |
There was a problem hiding this comment.
This PR successfully transitions the MaxText Docker image build process to a package-based installation, which improves consistency and maintainability. It also introduces a valuable automated failure notification system for nightly builds.
🔍 General Feedback
- Redundancy: The
Copy tests assets to package directorystep in the workflow is redundant because the Dockerfile already handles copying tests from the root context. - Brittleness: Hardcoded Python version paths (
python3.12) should be replaced with more dynamic alternatives to future-proof the workflows. - Conventions: The change to image naming (adding an underscore before the suffix) and the use of short SHAs for tagging are positive improvements but should be noted as changes to existing conventions.
- Variables: Ensure
vars.PROJECT_NAMEis defined in the repository settings to prevent build failures.
bd2fb51 to
704fba0
Compare
704fba0 to
52d8035
Compare
bvandermoon
left a comment
There was a problem hiding this comment.
Why do we need a nightly release if it is the same image between releases?
Discussed offline and updated the description accordingly. |
Description
This PR transitions the nightly Docker image build workflow from a source-based installation to a package-based installation. This change is to standardize environment setups across all workflows by leveraging the MaxText Python package. Additionally, it introduces an automated notification system to track nightly build failures.
Currently, in main this workflow builds docker image like this:
This PR changes the workflow to:
[runner]from wheel fileThe reason to do so is when we build docker image from inside MaxText repo, then we don't see any issue because all the files exist in the repo. However, when we install MaxText from wheel/pypi, then we only get
srcdirectory. This leads to some problems that gets unnoticed. One of the examples: cl/907712343Key Changes
notify_failurejob to the nightly workflow. This job is designed to create a new GitHub issue or update an existing one whenever a scheduled build fails.Tests
CI tests and https://github.com/AI-Hypercomputer/maxtext/actions/runs/25235820972
Checklist
Before submitting this PR, please make sure (put X in square brackets):
gemini-reviewlabel.