GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-139922: always run MSVC 64-bit tail-calling CI by chris-eibl · Pull Request #146570 · python/cpython

Conversation

@chris-eibl

@chris-eibl chris-eibl commented Mar 28, 2026 •
edited by bedevere-app Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

And not only for the paths in

cpython/.github/workflows/tail-call.yml

Lines 4 to 9 in 578d726

paths: &paths
- '.github/workflows/tail-call.yml'
- 'Python/bytecodes.c'
- 'Python/ceval.c'
- 'Python/ceval_macros.h'
- 'Python/generated_cases.c.h'

  • Issue: Tail calling interpreter for MSVC #139922

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@chris-eibl
always run MSVC 64bit tail-calling CI when
319bac7
run-windows-tests is true
@chris-eibl
chris-eibl requested review from AA-Turner, ezio-melotti, hugovk and webknjaz as code owners March 28, 2026 11:52
@bedevere-app bedevere-app Bot added the awaiting review label Mar 28, 2026
@chris-eibl chris-eibl changed the title always run MSVC 64-bit tail-calling CI gh-139922: always run MSVC 64-bit tail-calling CI Mar 28, 2026
@bedevere-app bedevere-app Bot mentioned this pull request Mar 28, 2026
Tail calling interpreter for MSVC #139922
Closed
@chris-eibl chris-eibl added the skip news label Mar 28, 2026
@Fidget-Spinner

Fidget-Spinner commented Mar 28, 2026

Copy link
Copy Markdown
Member

Just checking: we should not ditch the old switch-case interpreter in the CI. Does this PR do that?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@chris-eibl

chris-eibl commented Mar 28, 2026

Copy link
Copy Markdown
Member Author

No, it keeps all the previous jobs and just adds the MSVC x64 tc and tc + free threaded builds (and now tests the latter one, which it did not previously).

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@chris-eibl

chris-eibl commented Mar 28, 2026

Copy link
Copy Markdown
Member Author

Pulling in main, hopefully will build everything now ...

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@chris-eibl
Merge branch 'main' into msvc_ci
ca3d674
@chris-eibl

chris-eibl commented Mar 28, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member Author

Great, now it seems to work. No idea what happened before.

Just checking: we should not ditch the old switch-case interpreter in the CI. Does this PR do that?

The "old" ones are now marked with "regular", and the "tail-call" builds are the new ones:
image

hugovk reacted with hooray emoji
All reactions
  • 🎉 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@chris-eibl

chris-eibl commented Mar 28, 2026

Copy link
Copy Markdown
Member Author

Ha, the funny thing is: the tc builds are already done, while the regular ones are still building.

Maybe because they are release builds and even though building takes longer, the tests run faster ...

hugovk reacted with rocket emoji
All reactions
  • 🚀 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

chris-eibl
chris-eibl commented Mar 28, 2026
View reviewed changes
Comment thread .github/workflows/build.yml Resolved

Uh oh!

There was an error while loading. Please reload this page.

hugovk
hugovk reviewed Mar 28, 2026
View reviewed changes

@hugovk hugovk left a comment

Copy link
Copy Markdown
Member

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.

This means we're testing Windows tail-calling more often than before, but we will be releasing in the official Windows installer for 3.15, so I think it's important to keep a closer eye on it.

Before, only if any of 5 .c/.h/.yml files changed:

  • Windows tail-calling: build + test
  • Windows tail-calling free-threaded: build only

Now, based on broader file change detection:

  • Windows tail-calling: build + test
  • Windows tail-calling free-threaded: build + test

But as noted, the tail-call jobs are quick: 5m build + 6m test = 11m total each. The other Windows are 17m-26m each:

Image

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread .github/workflows/build.yml Resolved

Uh oh!

There was an error while loading. Please reload this page.

@chris-eibl @hugovk
Update .github/workflows/build.yml
5435c8a
Co-authored-by: Hugo van Kemenade <[email protected]>
@chris-eibl

chris-eibl commented Mar 28, 2026

Copy link
Copy Markdown
Member Author

Ups, pressed too fast, will do the other occurrences, soon.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@chris-eibl
replace rest of regular
64f7ecb
@chris-eibl

chris-eibl commented Mar 28, 2026

Copy link
Copy Markdown
Member Author

Maybe because they are release builds and even though building takes longer, the tests run faster ...

But as noted, the tail-call jobs are quick: 5m build + 6m test = 11m total each. The other Windows are 17m-26m each

Yeah, for example x64 switch case: 2m 9s build + 17m 6s test.

So in case we want faster CI, we can convert some other configurations to release. Then we have also more coverage on that build type wrt mostly using debug ...

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

webknjaz
webknjaz approved these changes Mar 28, 2026
View reviewed changes

@webknjaz webknjaz left a comment

Copy link
Copy Markdown
Member

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.

LGTM with a few optional suggestions.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread .github/workflows/reusable-windows.yml Resolved

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot added awaiting core review and removed awaiting review labels Mar 28, 2026
chris-eibl and others added 2 commits March 28, 2026 22:50
@chris-eibl @webknjaz
Update .github/workflows/reusable-windows.yml
19263ec
Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <[email protected]>
@chris-eibl
add comment
5b107dd
Fidget-Spinner
Fidget-Spinner approved these changes Mar 30, 2026
View reviewed changes
@bedevere-app bedevere-app Bot added awaiting merge and removed awaiting core review labels Mar 30, 2026
@Fidget-Spinner
Fidget-Spinner merged commit 76c554b into python:main Mar 30, 2026
65 of 66 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the awaiting merge label Mar 30, 2026
@chris-eibl
chris-eibl deleted the msvc_ci branch March 30, 2026 14:29
maurycy added a commit to maurycy/cpython that referenced this pull request Mar 30, 2026
@maurycy
Merge remote-tracking branch 'upstream/main' into tachyon-ndjson-kole…
6a0ea81
…ktor

* upstream/main: (119 commits)
  pythongh-144270: Make SubElement parent and tag positional-only (pythonGH-144845)
  pythongh-146558: JIT optimize dict access for objects with known hash (python#146559)
  pythongh-139922: always run MSVC 64-bit tail-calling CI (pythonGH-146570)
  pythongh-126835: Fix _PY_IS_SMALL_INT() macro (python#146631)
  pythongh-146587: fix type slot assignment incase of multiple slots for same name (python#146593)
  pythongh-138122: Add differential flame graph (python#145785)
  pythongh-146416: Emscripten: Improve standard stream handling in node_entry.mjs (python#146417)
  pythongh-146444: Don't package as part of iOS 'build hosts' target (python#146628)
  pythongh-138850: Add --disable-epoll to configure (pythonGH-145768)
  pythongh-146444: Make Platforms/Apple/ compatible with Python 3.9 (python#146624)
  pythongh-138577: Fix keyboard shortcuts in getpass with echo_char (python#141597)
  pythongh-146556: Fix infinite loop in annotationlib.get_annotations() on circular __wrapped__ (python#146557)
  pythongh-146579: _zstd: Fix decompression options dict error message (python#146577)
  pythongh-146083: Upgrade bundled Expat to 2.7.5 (python#146085)
  pythongh-146080: fix a crash in SNI callbacks when the SSL object is gone (python#146573)
  pythongh-146090: fix memory management of internal `sqlite3` callback contexts (python#146569)
  pythongh-145876: Do not mask KeyErrors raised during dictionary unpacking in call (pythonGH-146472)
  pythongh-146004: fix test_args_from_interpreter_flags on windows (python#146580)
  pythongh-139003: Use frozenset for module level attributes in _pyrepl.utils (python#139004)
  pythonGH-146527: Add more data to GC statistics and add it to PyDebugOffsets (python#146532)
  ...
@pablogsal pablogsal mentioned this pull request Apr 4, 2026
gh-130273: Fix traceback color output with unicode characters #142529
Merged
clin1234 pushed a commit to clin1234/cpython that referenced this pull request Apr 16, 2026
@chris-eibl @hugovk
@webknjaz @clin1234
pythongh-139922: always run MSVC 64-bit tail-calling CI (pythonGH-146570
3d0edcf
)

Co-authored-by: Hugo van Kemenade <[email protected]>
Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <[email protected]>
ljfp pushed a commit to ljfp/cpython that referenced this pull request Apr 25, 2026
@chris-eibl @hugovk
@webknjaz @ljfp
pythongh-139922: always run MSVC 64-bit tail-calling CI (pythonGH-146570
d91c828
)

Co-authored-by: Hugo van Kemenade <[email protected]>
Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@hugovk hugovk hugovk left review comments
@webknjaz webknjaz webknjaz approved these changes
@Fidget-Spinner Fidget-Spinner Fidget-Spinner approved these changes
@ezio-melotti ezio-melotti Awaiting requested review from ezio-melotti ezio-melotti is a code owner
@AA-Turner AA-Turner Awaiting requested review from AA-Turner AA-Turner is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

skip news

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

4 participants

@chris-eibl @Fidget-Spinner @webknjaz @hugovk
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.