gh-122931 CI for Linux multiarch co-installability#152831
Conversation
a347830 to
3a52cb5
Compare
3a52cb5 to
b84e719
Compare
Duh. Let me store hash manifests instead of storing the installs. |
Do you mean the debug option?
Seems like having another matrix will add 15–16 minutes of CI runtime. |
That's a lot. OK, I'll attempt to include it. |
We are trying to install into a prefix, any absolute path would not necessarily be writeable. e.g. if Python is configured with --libdir=/usr/lib/$(MULTIARCH)/ during a Debian build.
I meant a multiarch libdir and
|
It's part of the main test matrix, now. |
| if internal: | ||
| cflags.append('-DTEST_INTERNAL_C_API=1') | ||
|
|
||
| py_limited_api = limited or abi3t |
There was a problem hiding this comment.
This looks unrelated to the purpose of this PR, but is a correctness fix, so 👍🏼
There was a problem hiding this comment.
It was necessary to tell setuptools to produce abi3/abi3t filenames.
| description: OS to run the job | ||
| required: true | ||
| type: string |
There was a problem hiding this comment.
This is unrelated but is probably fine provided it's backported into the older branches.
As suggested in this thread, add some CI tooling to ensure that Python continues to be multi-arch co-installable.
Explicitly skip checking
abi3.soandabi3t.soextensions, as they are currently not co-installable (#122931).We extend
reusable-ubuntuto perform an extra set of build+install+hash runs. This required some slightly different configure options to get more co-install-friendly builds. Those configure options broke some existing tests, but the fixes are trivial, and included.From an earlier implementation that didn't use hash-manifests:
Example failure (without
abi3andabi3tignored): https://github.com/stefanor/cpython/actions/runs/28550736484/job/84647793000Example success (with them ignored): https://github.com/stefanor/cpython/actions/runs/28551134448/job/84648971317