Skip to content

Add Android support #265

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

Merged
merged 22 commits into from
Aug 13, 2025
Merged

Add Android support #265

merged 22 commits into from
Aug 13, 2025

Conversation

mhsmith
Copy link
Member

@mhsmith mhsmith commented Jul 30, 2025

See the linked issue for details:

Since there will be no Android releases for Python 3.13 and earlier, the Android release job is skipped on those versions. See the "Temporarily point inputs ..." commit for a run that includes Android.

The lint and docs failures appear to be unrelated.

@mhsmith mhsmith marked this pull request as ready for review July 30, 2025 16:30
@mhsmith mhsmith requested a review from hugovk July 30, 2025 16:31
Copy link

@freakboy3742 freakboy3742 left a comment

Choose a reason for hiding this comment

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

Based on the current state of python/cpython#137186, this makes sense to me

@hugovk
Copy link
Member

hugovk commented Aug 4, 2025

(Updated from main to fix mypy.)

Copy link
Member

@hugovk hugovk left a comment

Choose a reason for hiding this comment

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

Let's set the defaults to a 3.14 commit, so we test Android for regular PRs and don't break it by mistake:

# Set from inputs for workflow_dispatch, or set defaults to test push/PR events
env:
  GIT_REMOTE: ${{ github.event.inputs.git_remote || 'python' }}
  GIT_COMMIT: ${{ github.event.inputs.git_commit || '48f88310044c6ef877f3b0761cf7afece2f8fb3a' }}
  CPYTHON_RELEASE: ${{ github.event.inputs.cpython_release || '3.14.0rc1' }}

@hugovk hugovk marked this pull request as draft August 4, 2025 09:18
@mhsmith
Copy link
Member Author

mhsmith commented Aug 4, 2025

Let's set the defaults to a 3.14 commit, so we test Android for regular PRs and don't break it by mistake

I agree, but that'll have to wait until there's a tag that includes the Android build action from python/cpython#137186.

@mhsmith mhsmith changed the title Add Android release job Add Android support Aug 6, 2025
@mhsmith
Copy link
Member Author

mhsmith commented Aug 9, 2025

python/cpython#137186 has been changed to use an android.py ci command rather than a composite action, so I've updated this PR to match. Once again, I've tested an Android run by pointing it at my own repository (in the actions of the "Update type annotations" commit), and then reverted to the previous inputs.

@mhsmith
Copy link
Member Author

mhsmith commented Aug 10, 2025

I've updated run_release.py to include Android, and tested the relevant functions using my own SSH server. Because the Android binaries are now released via the same mechanism as the source tarballs, the temporary directory has been renamed from src to downloads.

I've also created python/peps#4541 to make the corresponding changes to PEP 101.

Pending the merge of python/cpython#137186, I think this PR is now complete.

@mhsmith mhsmith requested a review from hugovk August 12, 2025 21:01
@mhsmith mhsmith marked this pull request as ready for review August 12, 2025 21:01
Copy link
Member

@hugovk hugovk left a comment

Choose a reason for hiding this comment

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

Thanks!

select_jobs.py Outdated
Comment on lines 21 to 22
# Android binary releases began in Python 3.14.
output("android", version.release >= (3, 14))
Copy link
Member

Choose a reason for hiding this comment

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

(I guess technically they'll start in rc2 or rc3, but practically speaking I'm never going to do 3.14.0rc1 again :) And this much simplifies the logic.)

mhsmith and others added 3 commits August 13, 2025 12:30
@hugovk hugovk merged commit ee55b01 into python:master Aug 13, 2025
13 checks passed
@mhsmith mhsmith mentioned this pull request Aug 13, 2025
@hugovk
Copy link
Member

hugovk commented Aug 14, 2025

@mhsmith The candidate of release candidate 2 is now building Android, in case you want to check it:

https://github.com/python/release-tools/actions/runs/16965004771

@mhsmith
Copy link
Member Author

mhsmith commented Aug 14, 2025

Looks good to me!

webknjaz added a commit to webknjaz/python--release-tools that referenced this pull request Aug 14, 2025
This is a follow up for python#265 that added initial implementation with
copy-pasted steps.
webknjaz added a commit to webknjaz/python--release-tools that referenced this pull request Aug 14, 2025
This is a follow up for python#265 that added initial implementation with
copy-pasted steps.
webknjaz added a commit to webknjaz/python--release-tools that referenced this pull request Aug 14, 2025
This is a follow up for python#265 that added initial implementation with
copy-pasted steps.
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.

5 participants