-
Notifications
You must be signed in to change notification settings - Fork 758
Upgrade Docker container from gcc9 to gcc11 and add gcc9-nopytorch variant #16227
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
Conversation
…riant
- Rename executorch-ubuntu-22.04-gcc9 to executorch-ubuntu-22.04-gcc11
with GCC_VERSION=11
- Add new executorch-ubuntu-22.04-gcc9-nopytorch container that skips
PyTorch build from source (faster builds, smaller image)
- Add SKIP_PYTORCH build arg to Dockerfile to conditionally skip
PyTorch installation
- Update CI jobs:
- test-setup-linux-gcc: uses gcc11 (needs pre-built PyTorch)
- test-openvino-linux: uses gcc11 (needs pre-built PyTorch)
- test-binary-size-linux-gcc: uses gcc9-nopytorch with pinned
nightly PyTorch installed at runtime
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/16227
Note: Links to docs will display an error until the docs builds have been completed. ❗ 1 Active SEVsThere are 1 currently active SEVs. If your PR is affected, please view them below: ❌ 1 New Failure, 1 Cancelled Job, 3 Unrelated FailuresAs of commit 4293d52 with merge base 31aa8d3 ( NEW FAILURE - The following job has failed:
CANCELLED JOB - The following job was cancelled. Please retry:
FLAKY - The following jobs failed but were likely due to flakiness present on trunk:
UNSTABLE - The following job is marked as unstable, possibly due to flakiness on trunk:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This PR needs a
|
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.
Pull request overview
This PR modernizes the Docker container infrastructure by upgrading from GCC 9 to GCC 11 as the primary build environment and introduces a lightweight GCC 9 variant for binary size testing. The change separates concerns between containers that need PyTorch built from source (for CI testing against latest PyTorch commits) and those that can use pinned nightly PyTorch releases (for faster builds and smaller images).
Key Changes:
- Renamed
executorch-ubuntu-22.04-gcc9toexecutorch-ubuntu-22.04-gcc11for jobs requiring pre-built PyTorch from source - Added
executorch-ubuntu-22.04-gcc9-nopytorchcontainer variant that skips PyTorch build during image creation - Introduced
SKIP_PYTORCHbuild argument to conditionally control PyTorch installation in Docker images
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
.github/workflows/pull.yml |
Updated docker-image references: test-setup-linux-gcc and test-openvino-linux now use gcc11; test-binary-size-linux-gcc uses gcc9-nopytorch with runtime PyTorch installation |
.github/workflows/docker-builds.yml |
Added both gcc11 and gcc9-nopytorch to the build matrix, replacing the single gcc9 image |
.ci/docker/ubuntu/Dockerfile |
Added conditional PyTorch installation logic controlled by SKIP_PYTORCH build argument |
.ci/docker/build.sh |
Added case statements for gcc11 and gcc9-nopytorch variants with appropriate build configurations and SKIP_PYTORCH flag passing |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <[email protected]>
lucylq
left a comment
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 updating this!
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.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # threshold=48120 on devserver with gcc11.4 | ||
| # threshold=48120 on devserver with gcc9 | ||
| # todo(lfq): update once binary size is below 50kb. | ||
| # Note: using gcc9-nopytorch container with pinned nightly PyTorch |
Copilot
AI
Dec 12, 2025
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.
The comment says "pinned nightly PyTorch" which is contradictory. PyTorch is either pinned (to a specific version/commit) or it's nightly (latest), not both. Since line 403 calls ./install_requirements.sh without the --use-pt-pinned-commit flag, the script will install the nightly version (as defined in install_requirements.py line 185: use_pytorch_nightly = not bool(args.use_pt_pinned_commit)). The comment should be updated to say either "nightly PyTorch" or if a pinned version is intended, the flag should be added back.
| # Note: using gcc9-nopytorch container with pinned nightly PyTorch | |
| # Note: using gcc9-nopytorch container with nightly PyTorch |
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.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - name: Build docker image | ||
| id: build-docker-image | ||
| timeout-minutes: 45 | ||
| timeout-minutes: 145 |
Copilot
AI
Dec 12, 2025
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.
The timeout has been increased from 45 to 145 minutes (over 3x increase). This seems excessive. Building the gcc9-nopytorch container should actually be faster than building the gcc11 container since it skips PyTorch installation. Consider using a more reasonable timeout value (e.g., 60-90 minutes) unless there's a specific reason for this large increase.
| timeout-minutes: 145 | |
| timeout-minutes: 90 |
with GCC_VERSION=11
PyTorch build from source (faster builds, smaller image)
PyTorch installation
nightly PyTorch installed at runtime