-
-
Notifications
You must be signed in to change notification settings - Fork 30.9k
New issue
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
Add CI test for cross-builds #127432
Labels
build
The build process and cross-build
easy
infra
CI, GitHub Actions, buildbots, Dependabot, etc.
type-feature
A feature request or enhancement
Comments
FFY00
added
type-feature
A feature request or enhancement
build
The build process and cross-build
easy
infra
CI, GitHub Actions, buildbots, Dependabot, etc.
labels
Nov 29, 2024
gianfrancomauro
added a commit
to gianfrancomauro/cpython
that referenced
this issue
Nov 30, 2024
Fixes python#127432 Add CI test for cross-builds. * Add a new test function `test_cross_build` in `Lib/test/test_embed.py` to run `test_sysconfig`, `test_site`, and `test_embed` tests. * Use `subprocess` to run the tests in the build directory and after installation. * Add a new workflow file `.github/workflows/cross-build.yml` to define the CI test for cross-builds. * Include steps to build a host Python, install it, configure a new build, and run the tests. * Run the tests in the build directory and after installation. * Use a different architecture in the cross-build. --- For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/python/cpython/issues/127432?shareId=XXXX-XXXX-XXXX-XXXX).
matthewhughes934
added a commit
to matthewhughes934/cpython
that referenced
this issue
Dec 31, 2024
This is to avoid regressions in the cross building process
matthewhughes934
added a commit
to matthewhughes934/cpython
that referenced
this issue
Dec 31, 2024
This is to avoid regressions in the cross building process
matthewhughes934
added a commit
to matthewhughes934/cpython
that referenced
this issue
Dec 31, 2024
This is to avoid regressions in the cross building process
matthewhughes934
added a commit
to matthewhughes934/cpython
that referenced
this issue
Dec 31, 2024
matthewhughes934
added a commit
to matthewhughes934/cpython
that referenced
this issue
Dec 31, 2024
matthewhughes934
added a commit
to matthewhughes934/cpython
that referenced
this issue
Dec 31, 2024
matthewhughes934
added a commit
to matthewhughes934/cpython
that referenced
this issue
Dec 31, 2024
matthewhughes934
added a commit
to matthewhughes934/cpython
that referenced
this issue
Jan 1, 2025
Make use of some GHA bits used in other build jobs
matthewhughes934
added a commit
to matthewhughes934/cpython
that referenced
this issue
Jan 1, 2025
Make use of some GHA bits used in other build jobs
matthewhughes934
added a commit
to matthewhughes934/cpython
that referenced
this issue
Jan 1, 2025
matthewhughes934
added a commit
to matthewhughes934/cpython
that referenced
this issue
Jan 1, 2025
This is to avoid regressions in the cross building process.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
build
The build process and cross-build
easy
infra
CI, GitHub Actions, buildbots, Dependabot, etc.
type-feature
A feature request or enhancement
Feature or enhancement
Proposal:
Cross-builds depend on a fair bit of
sysconfig
internals, it would be good have a test in the CI to ensure they work.This would have prevented #127178 (comment).
I don't think there's a need to run the full test suite, we should be fine running just the
sysconfig
,site
, andtest_embed
tests. It would also make sense to run the tests in the build directory, and after installation.The test should consist of:
workdir/host-python
)--with-build-python=workdir/host-python/bin/python
, and also using a custom prefix (eg.workdir/cross-python
)./python -m test test_sysconfig test_site test_embed
)workdir/cross-python/bin/python -m test test_sysconfig test_site test_embed
)I think we should be fine with Linux-only, but Windows would also be welcome. Additionally, possibly, we could also use a different architecture in the cross-build, like
jit.yml
does for "Emulated Linux".cpython/.github/workflows/jit.yml
Lines 129 to 146 in 38264a0
Has this already been discussed elsewhere?
No response given
Links to previous discussion of this feature:
No response
Linked PRs
The text was updated successfully, but these errors were encountered: