close
Skip to content

Android fixes - #2933

Merged
mayeut merged 3 commits into
pypa:mainfrom
mhsmith:android-2026-06-27
Jun 28, 2026
Merged

Android fixes#2933
mayeut merged 3 commits into
pypa:mainfrom
mhsmith:android-2026-06-27

Conversation

@mhsmith

@mhsmith mhsmith commented Jun 27, 2026

Copy link
Copy Markdown
Member

@mhsmith
mhsmith requested a review from mayeut June 27, 2026 18:26
@mhsmith

mhsmith commented Jun 27, 2026

Copy link
Copy Markdown
Member Author

Sorry, didn't mean to send you the review request yet.

@mhsmith

mhsmith commented Jun 27, 2026

Copy link
Copy Markdown
Member Author

OK, this is ready for review now. The previous failure was caused by updating to the newest Python 3.15 beta. This runs tests on a different emulator system image, so the cibuildwheel tests were now downloading two images, one for 3.13 and 3.14, and one for 3.15. On GitHub Actions test_expected_wheels fails on 3.15 like this:

> Task :app:maxVersionSetup
  dev35_aosp_atd_x86_64_Small_Phone needs to be recreated because it is invalid (AvdStatus = ERROR_IMAGE_MISSING)
  Failed to to retrieve system image at: /usr/local/lib/android/sdk/system-images/android-35/aosp_atd/x86_64 Retrying in 2 seconds
  Failed to to retrieve system image at: /usr/local/lib/android/sdk/system-images/android-35/aosp_atd/x86_64 Retrying in 4 seconds
...
  > Task :app:maxVersionSetup
  Failed to to retrieve system image at: /usr/local/lib/android/sdk/system-images/android-35/aosp_atd/x86_64 Retrying in 10 seconds
  
  > Task :app:maxVersionSetup FAILED
  
  FAILURE: Build failed with an exception.
  
  * What went wrong:
  Execution failed for task ':app:maxVersionSetup'.
  > A failure occurred while executing com.android.build.gradle.internal.tasks.ManagedDeviceInstrumentationTestSetupTask$ManagedDeviceSetupRunnable
     > java.util.concurrent.ExecutionException: java.lang.IllegalStateException: System image does not exist at /usr/local/lib/android/sdk/system-images/android-35/aosp_atd/x86_64

I can't reproduce this locally, so I guess it's caused by the runner not having enough disk space for both images. This change has been backported to Python 3.13 and 3.14, but it won't be released on those versions until August. So I've reverted to the previous Python 3.15 version for now, and we can update all 3 simultaneously once they're available.

@mhsmith
mhsmith marked this pull request as ready for review June 27, 2026 20:04

@mayeut mayeut left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks.
Let's postpone Android 3.15.0b3 for now then.

@mayeut
mayeut merged commit a5624fc into pypa:main Jun 28, 2026
45 checks passed
mayeut added a commit that referenced this pull request Jun 29, 2026
henryiii pushed a commit that referenced this pull request Jun 30, 2026
* Update dependencies

* Revert pip marker flattening for GraalPy on Windows

* revert android cp315 update

see #2933 (comment)

---------

Co-authored-by: cibuildwheel-bot[bot] <83877280+cibuildwheel-bot[bot]@users.noreply.github.com>
Co-authored-by: mayeut <mayeut@users.noreply.github.com>
mayeut added a commit that referenced this pull request Jul 19, 2026
mayeut added a commit that referenced this pull request Jul 21, 2026
henryiii added a commit that referenced this pull request Jul 22, 2026
* Update dependencies

* fix: older pip for graalpy on Windows

The dependency update regenerated the constraints and dropped the pip
hold-back for GraalPy on Windows, where newer pip breaks. Restore the
marker-based pin.

Assisted-by: ClaudeCode:claude-opus-4.8

* ci: keep graalpy pip workaround across dependency bumps

update_constraints now re-applies the GraalPy Windows pip hold-back after
uv pip compile, so the bot no longer wipes it each run. Target only the
Python versions that ship a GraalPy config (3.12), derived from
build-platforms.toml; drop the stale pin from the 3.11 constraints.

Assisted-by: ClaudeCode:claude-opus-4.8

* fix(macos): accept .tar.gz PyPy archives

PyPy switched its macOS downloads from .tar.bz2 to .tar.gz, which tripped
the hard-coded extension assert in install_pypy. Accept both.

Assisted-by: ClaudeCode:claude-opus-4.8

* ci: hold filelock back for graalpy

filelock >=3.30 imports errno.ENOTSUP, which GraalPy lacks, so virtualenv
fails on GraalPy. Hold it at 3.29.4 for GraalPy until the upstream fix
ships (~2026-08), reusing the update_constraints workaround mechanism.

Assisted-by: ClaudeCode:claude-opus-4.8

* ci: bump filelock for graalpy

* revert android cp315 update

see #2933 (comment)

---------

Co-authored-by: cibuildwheel-bot[bot] <83877280+cibuildwheel-bot[bot]@users.noreply.github.com>
Co-authored-by: Henry Schreiner <henryfs@princeton.edu>
Co-authored-by: mayeut <mayeut@users.noreply.github.com>
mayeut pushed a commit to mayeut/cibuildwheel that referenced this pull request Jul 22, 2026
revert android cp315 update

see pypa#2933 (comment)

Revert "revert android cp315 update"

This reverts commit 566d072.
mayeut added a commit that referenced this pull request Aug 2, 2026
mayeut added a commit that referenced this pull request Aug 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

tests: test/test_android.py::test_xbuild_files failing

2 participants