Skip to content

Conversation

@mergennachin
Copy link
Contributor

  • 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

…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
Copilot AI review requested due to automatic review settings December 12, 2025 19:08
@pytorch-bot
Copy link

pytorch-bot bot commented Dec 12, 2025

🔗 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 SEVs

There are 1 currently active SEVs. If your PR is affected, please view them below:

❌ 1 New Failure, 1 Cancelled Job, 3 Unrelated Failures

As of commit 4293d52 with merge base 31aa8d3 (image):

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.

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Dec 12, 2025
@github-actions
Copy link

This PR needs a release notes: label

If your change should be included in the release notes (i.e. would users of this library care about this change?), please use a label starting with release notes:. This helps us keep track and include your important work in the next release notes.

To add a label, you can comment to pytorchbot, for example
@pytorchbot label "release notes: none"

For more information, see
https://github.com/pytorch/pytorch/wiki/PyTorch-AutoLabel-Bot#why-categorize-for-release-notes-and-how-does-it-work.

Copy link
Contributor

Copilot AI left a 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-gcc9 to executorch-ubuntu-22.04-gcc11 for jobs requiring pre-built PyTorch from source
  • Added executorch-ubuntu-22.04-gcc9-nopytorch container variant that skips PyTorch build during image creation
  • Introduced SKIP_PYTORCH build 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.

Copilot AI review requested due to automatic review settings December 12, 2025 19:13
Copy link
Contributor

@lucylq lucylq left a 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!

Copy link
Contributor

Copilot AI left a 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
Copy link

Copilot AI Dec 12, 2025

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.

Suggested change
# Note: using gcc9-nopytorch container with pinned nightly PyTorch
# Note: using gcc9-nopytorch container with nightly PyTorch

Copilot uses AI. Check for mistakes.
Copilot AI review requested due to automatic review settings December 12, 2025 21:15
Copy link
Contributor

Copilot AI left a 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
Copy link

Copilot AI Dec 12, 2025

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.

Suggested change
timeout-minutes: 145
timeout-minutes: 90

Copilot uses AI. Check for mistakes.
@mergennachin mergennachin merged commit d8c9c74 into main Dec 15, 2025
358 of 364 checks passed
@mergennachin mergennachin deleted the docker_gcc9_gcc11 branch December 15, 2025 00:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ciflow/binaries ciflow/trunk CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants