GH-145110: fix targets "Clean" and "CleanAll" in case of Windows PGO builds#145111
GH-145110: fix targets "Clean" and "CleanAll" in case of Windows PGO builds#145111chris-eibl wants to merge 1 commit intopython:mainfrom
Conversation
|
|
||
| if "%IncludeExternals%"=="true" call "%dir%get_externals.bat" | ||
|
|
||
| if /I "%target%"=="Clean" set clean=true |
There was a problem hiding this comment.
This is a simple poor man's or, since Windows batch files do not feature that. Using /I here for a case insensitive compare, because msbuild accepts it case insensitive as well.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
!buildbot AMD64 Windows PGO NoGIL |
|
🤖 New build scheduled with the buildbot fleet by @chris-eibl for commit f0a4c99 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F145111%2Fmerge The command will test the builders whose names match following regular expression: The builders matched are:
|
| call "%dir%\..\python.bat" %pgo_job% | ||
| @echo off | ||
| call :Kill | ||
| set target=Build |
There was a problem hiding this comment.
I do not really know why the target is switched here. For Clean and CleanAll this is definitely wrong. This only leaves Rebuild which is still converted to Build here like before.
I'd happily remove it so that Rebuild does what is asked for, and a quick test shows that it works.
Git blame reveals it was introduced in this commit linked to https://bugs.python.org/issue28573, which is dealing about PATH getting to long and
[...] also fixes two other issues with my build script - the PGOOPTS need to come before CERTOPTS, as they are parsed by different scripts, and the debug build command fell off somewhere which resulted in the debug builds not being rebuilt for 3.6.0b4 - they are still the 3.6.0b3 debug build.
Yet, I am unsure and might be overlooking something, so I haven't touched it (yet).
Build logs look good now, but |
|
!buildbot AMD64 Windows PGO NoGIL Tailcall |
|
🤖 New build scheduled with the buildbot fleet by @chris-eibl for commit f0a4c99 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F145111%2Fmerge The command will test the builders whose names match following regular expression: The builders matched are:
|
|
Ups, failed again. Lots of errors which hint that we are hitting a path limit here.
@itamaro enabling long paths or just limiting the folder where the builds run by a tad will hopefully fix this. This seems slightly too long The non-pr version ran fine just few hours ago. The Most probably enabling long paths on your build bot will help? |
I thought long paths are already enabled... I'll take another look when I get a chance. Is the build script checking and logging that? That would be a useful diagnostic to have |
@chris-eibl the worker provisioning script includes this: |
|
"individual applications must declare long path awareness in their manifest to actually use paths beyond 260 characters." - maybe this is the issue? |
|
Yupp, might be. Long paths is still not the "norm". A quick search hints e.g. From $work I at least know that during linking we frequently have troubles. And for the |
|
Another hint which makes me think of long path problems is, that we're slightly longer than 260 characters in case of the PR worker, and the "regular" one just passed before. Likewise does a local build for me. When I looked into the In the build bot case, it seems to replicate the AFAICT, this does not happen for me locally ... |
The build bot uses Update: please scratch that, this "replication" happens for me in both cases ... |
In case of
CleanorCleanAll, theBuild