| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| Expand Up | @@ -231,10 +231,14 @@ jobs: | |
| name: >- | ||
| Ubuntu | ||
| ${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }} | ||
| ${{ fromJSON(matrix.bolt) && '(bolt)' || '' }} | ||
| needs: check_source | ||
| if: needs.check_source.outputs.run_tests == 'true' | ||
| strategy: | ||
| matrix: | ||
| bolt: | ||
| - false | ||
| - true | ||
| free-threading: | ||
| - false | ||
| - true | ||
| Expand All | @@ -246,9 +250,16 @@ jobs: | |
| exclude: | ||
| - os: ubuntu-24.04-aarch64 | ||
| is-fork: true | ||
| # Do not test BOLT with free-threading, to conserve resources | ||
| - bolt: true | ||
| free-threading: true | ||
| # BOLT currently crashes during instrumentation on aarch64 | ||
| - os: ubuntu-24.04-aarch64 | ||
| bolt: true | ||
|
Comment thread
Comment on lines
+253
to
+258
Copy link
Copy Markdown
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityI don't have strong feelings about this pattern (using exclude instead of include), but liked that I could document why we're not running the additional cases.
Sorry, something went wrong.
hugovk reacted with thumbs up emoji
All reactions
|
||
| uses: ./.github/workflows/reusable-ubuntu.yml | ||
| with: | ||
| config_hash: ${{ needs.check_source.outputs.config_hash }} | ||
| bolt-optimizations: ${{ matrix.bolt }} | ||
| free-threading: ${{ matrix.free-threading }} | ||
| os: ${{ matrix.os }} | ||
|
|
||
| Expand Down | ||
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Expand Up | @@ -6,6 +6,11 @@ on: | |||||||||||||
| config_hash: | ||||||||||||||
| required: true | ||||||||||||||
| type: string | ||||||||||||||
| bolt-optimizations: | ||||||||||||||
| description: Whether to enable BOLT optimizations | ||||||||||||||
| required: false | ||||||||||||||
| type: boolean | ||||||||||||||
| default: false | ||||||||||||||
| free-threading: | ||||||||||||||
| description: Whether to use free-threaded mode | ||||||||||||||
| required: false | ||||||||||||||
| Expand Down Expand Up | @@ -34,6 +39,12 @@ jobs: | |||||||||||||
| run: echo "::add-matcher::.github/problem-matchers/gcc.json" | ||||||||||||||
| - name: Install dependencies | ||||||||||||||
| run: sudo ./.github/workflows/posix-deps-apt.sh | ||||||||||||||
| - name: Install Clang and BOLT | ||||||||||||||
| if: ${{ fromJSON(inputs.bolt-optimizations) }} | ||||||||||||||
| run: | | ||||||||||||||
| sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh 19 | ||||||||||||||
| sudo apt-get install bolt-19 | ||||||||||||||
| echo PATH="$(llvm-config-19 --bindir):$PATH" >> $GITHUB_ENV | ||||||||||||||
| - name: Configure OpenSSL env vars | ||||||||||||||
| run: | | ||||||||||||||
| echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV" | ||||||||||||||
| Expand Down Expand Up | @@ -73,14 +84,18 @@ jobs: | |||||||||||||
| key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{ inputs.config_hash }} | ||||||||||||||
| - name: Configure CPython out-of-tree | ||||||||||||||
| working-directory: ${{ env.CPYTHON_BUILDDIR }} | ||||||||||||||
| # `test_unpickle_module_race` writes to the source directory, which is | ||||||||||||||
| # read-only during builds — so we exclude it from profiling with BOLT. | ||||||||||||||
| run: >- | ||||||||||||||
| PROFILE_TASK='-m test --pgo --ignore test_unpickle_module_race' | ||||||||||||||
|
Comment thread
Copy link
Copy Markdown
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityInteresting, why doesn't it raise any issues while we build PGO build?
Sorry, something went wrong.
All reactions
Copy link
Copy Markdown
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityI don't think there is a PGO build in CI
Sorry, something went wrong.
All reactions
Copy link
Copy Markdown
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality(The read-only build file system looks specific to this CI setup)
Sorry, something went wrong.
All reactions
Copy link
Copy Markdown
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality
FYI, At Github Action there is no CI for PGO and LTO.
Sorry, something went wrong.
All reactions
Copy link
Copy Markdown
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality
Let me take a look more detail. :)
Sorry, something went wrong.
All reactions
Copy link
Copy Markdown
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Qualityhttps://github.com/python/cpython/actions/runs/12776586124/job/35615597427 ERROR: test_unpickle_module_race (test.test_pickle.PyUnpicklerTests.test_unpickle_module_race)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/work/cpython/cpython-ro-srcdir/Lib/test/support/import_helper.py", line 48, in forget
unlink(source + 'c')
~~~~~~^^^^^^^^^^^^^^
File "/home/runner/work/cpython/cpython-ro-srcdir/Lib/test/support/os_helper.py", line 345, in unlink
_unlink(filename)
~~~~~~~^^^^^^^^^^
OSError: [Errno 30] Read-only file system: '/home/runner/work/cpython/cpython-ro-srcdir/Lib/locker.pyc'
I think it's fine to remove the test from the optimization suite. It seems likely for there to be some problems here due to the read-only setup. It's known that the tests require a writeable source directory cpython/.github/workflows/reusable-ubuntu.yml Lines 105 to 110 in ae31df3
Sorry, something went wrong.
All reactions
Copy link
Copy Markdown
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality#29904 added the read-only out of tree builds.
Sorry, something went wrong.
All reactions
Copy link
Copy Markdown
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality(We could disable the read-only builds for the BOLT job but it seems more painful than it's worth)
Sorry, something went wrong.
All reactions
Copy link
Copy Markdown
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityAh okay let’s exclude the test with current way and let’s pile the issue about the test suite problem. Thank you for the investigation:)
Sorry, something went wrong.
All reactions
Copy link
Copy Markdown
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality
Zanie found it was added in #29904, which gives this reason:
Sorry, something went wrong.
All reactions
|
||||||||||||||
| ../cpython-ro-srcdir/configure | ||||||||||||||
| --config-cache | ||||||||||||||
| --with-pydebug | ||||||||||||||
| --enable-slower-safety | ||||||||||||||
| --enable-safety | ||||||||||||||
| --with-openssl="$OPENSSL_DIR" | ||||||||||||||
| ${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }} | ||||||||||||||
| ${{ fromJSON(inputs.bolt-optimizations) && '--enable-bolt' || '' }} | ||||||||||||||
| - name: Build CPython out-of-tree | ||||||||||||||
| if: ${{ inputs.free-threading }} | ||||||||||||||
| working-directory: ${{ env.CPYTHON_BUILDDIR }} | ||||||||||||||
| Expand Down | ||||||||||||||
| Back | FazBrowse Home | New Git URL |
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.
Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityNot a strong opinion, but I would prefer to have just 1, 2, or 3 jobs with bolt. unless it is absolutely needed.
We can move some very specific builds to buildbots, while maintatining the bare minimum in CI.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
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.
Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityThis is just one job with BOLT — I think in the future we'd want a second job for aarch64 once that's unblocked. Are you suggesting I should frame this as an include instead? ref #128845 (comment)
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
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.
Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityYes! Sorry for not being clear :)
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
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.
Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityI'll wait to change it until others have a chance to weigh in, but I'm not opposed.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
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.
Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityI started to do this but found it awkward since I know we want aarch64 testing here eventually. Since @hugovk 👍 my comment at #128845 (comment) I think I'll leave it for now.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.