Skip to content

gh-110793: Add CI job that runs tests with an installed build - #152664

Merged
StanFromIreland merged 10 commits into
python:mainfrom
StanFromIreland:Reusable-Ubuntu-(Installed)
Aug 10, 2026
Merged

gh-110793: Add CI job that runs tests with an installed build#152664
StanFromIreland merged 10 commits into
python:mainfrom
StanFromIreland:Reusable-Ubuntu-(Installed)

Conversation

@StanFromIreland

@StanFromIreland StanFromIreland commented Jun 30, 2026

Copy link
Copy Markdown
Member

This takes into consideration the suggestions on #110794. As for timing, I picked the fastest runner available, we'll have to see how long it takes. I presume it won't be slower than the Windows builds, however. Looking at the three runs on this PR, it takes about nine minutes (however, that does include two 30s timeouts). That's far faster then our longest runs which are around half an hour.

@StanFromIreland

StanFromIreland commented Jun 30, 2026

Copy link
Copy Markdown
Member Author

This is currently blocked by #152653 (failing test_sys).

Comment thread .github/workflows/reusable-install.yml
@StanFromIreland
StanFromIreland requested a review from sobolevn June 30, 2026 15:17
@StanFromIreland

Copy link
Copy Markdown
Member Author

Hi! Anyone have any comments on this?

@webknjaz webknjaz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good in general. I have an inline question, though. Non-blocking.

Comment thread .github/workflows/reusable-install.yml Outdated
Comment thread .github/workflows/reusable-install.yml Outdated

@itamaro itamaro left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you have an example of a breakage that would be caught by this CI job, and not by any other existing CI job?

Comment thread .github/workflows/build.yml Outdated
if: needs.build-context.outputs.run-ubuntu == 'true'
uses: ./.github/workflows/reusable-install.yml
with:
os: ubuntu-26.04-arm

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why use arm specifically? (vs plain x86_64 ubuntu)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The architecture shouldn't really mater, however, it's generally the fastest runner, that's why we enable -ucpu when running tests on it:

# Enable CPU-intensive tests on ARM (default build only)
- os: ubuntu-26.04-arm
bolt: false
free-threading: false
test-opts: '-u cpu'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A little late to the party but I'd like to state FTR that in the future we should be adding an explicit comment explaining such choices. The motivation may otherwise be difficult to trace transparently and figure out, when troubleshooting something in the future.

Comment thread .github/workflows/reusable-install.yml Outdated
@StanFromIreland

Copy link
Copy Markdown
Member Author

do you have an example of a breakage that would be caught by this CI job, and not by any other existing CI job?

For example, #152653 which prompted this. I don't know any more specific examples of the top of my head, but there have been quite a few cases of this.

@StanFromIreland
StanFromIreland requested a review from itamaro August 9, 2026 19:09
Comment thread .github/workflows/build.yml Outdated
Comment on lines +390 to +391
with:
os: ubuntu-26.04-arm

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're not varying this, so it doesn't need to be a variable.

Suggested change
with:
os: ubuntu-26.04-arm

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Honestly, I think things like this might be useful in terms of surfacing the same type of information on the same level of abstraction (the calling workflow). But it's probably something to be debated in a separate refactoring effort anyway..

Comment thread .github/workflows/reusable-install.yml Outdated
Comment thread .github/workflows/reusable-install.yml Outdated
Comment thread .github/workflows/reusable-install.yml Outdated
Comment thread .github/workflows/reusable-install.yml Outdated
Comment thread .github/workflows/reusable-install.yml Outdated
Comment thread .github/workflows/reusable-install.yml Outdated
Comment thread .github/workflows/build.yml Outdated
StanFromIreland and others added 2 commits August 10, 2026 10:04
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
@StanFromIreland
StanFromIreland requested a review from hugovk August 10, 2026 09:06

@hugovk hugovk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!


Noting for future reference, this new job takes around 6 minutes, much quicker than the current bottleneck (Windows x86 FT) at almost 30 minutes.

Image

https://github.com/python/cpython/actions/runs/31373039414/job/93406279180?pr=152664

@StanFromIreland
StanFromIreland merged commit 8a4ee5c into python:main Aug 10, 2026
52 checks passed
@StanFromIreland
StanFromIreland deleted the Reusable-Ubuntu-(Installed) branch August 10, 2026 11:15
@StanFromIreland

Copy link
Copy Markdown
Member Author

Thanks for all the reviews!

@StanFromIreland StanFromIreland added needs backport to 3.13 bugs and security fixes needs backport to 3.14 bugs and security fixes needs backport to 3.15 pre-release feature fixes, bugs and security fixes labels Aug 10, 2026
@miss-islington-app

Copy link
Copy Markdown

Thanks @StanFromIreland for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13.
🐍🍒⛏🤖

@miss-islington-app

Copy link
Copy Markdown

Thanks @StanFromIreland for the PR 🌮🎉.. I'm working now to backport this PR to: 3.15.
🐍🍒⛏🤖

@miss-islington-app

Copy link
Copy Markdown

Thanks @StanFromIreland for the PR 🌮🎉.. I'm working now to backport this PR to: 3.14.
🐍🍒⛏🤖

@bedevere-app

bedevere-app Bot commented Aug 10, 2026

Copy link
Copy Markdown

GH-155482 is a backport of this pull request to the 3.13 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.13 bugs and security fixes label Aug 10, 2026
@bedevere-app

bedevere-app Bot commented Aug 10, 2026

Copy link
Copy Markdown

GH-155483 is a backport of this pull request to the 3.15 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.15 pre-release feature fixes, bugs and security fixes label Aug 10, 2026
@bedevere-app

bedevere-app Bot commented Aug 10, 2026

Copy link
Copy Markdown

GH-155484 is a backport of this pull request to the 3.14 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.14 bugs and security fixes label Aug 10, 2026
hugovk added a commit that referenced this pull request Aug 10, 2026
…H-152664) (#155483)

Co-authored-by: Stan Ulbrych <stan@python.org>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
StanFromIreland added a commit that referenced this pull request Aug 10, 2026
…H-152664) (#155484)

(cherry picked from commit 8a4ee5c)

Co-authored-by: Stan Ulbrych <stan@python.org>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants