Skip to content

gh-137242: Build Android artifacts in a reusable workflow #137768

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

webknjaz
Copy link
Contributor

@webknjaz webknjaz commented Aug 14, 2025

This is a follow-up for #137186 aiming to make the initially added automation live in its own "module" rather than the top-level workflow and make it possible to reuse it externally.

It will also enable a companion change externally: python/release-tools#270.

This is a follow-up for python#137186 aiming to make the initially added
automation live in its own "module" rather than the top-level workflow
and make it possible to reuse it externally.
@webknjaz
Copy link
Contributor Author

cc @freakboy3742 @mhsmith

@StanFromIreland StanFromIreland added infra CI, GitHub Actions, buildbots, Dependabot, etc. skip news OS-android labels Aug 14, 2025
@StanFromIreland
Copy link
Member

I think this can go under the same issue, #137242?

@mhsmith mhsmith changed the title Build Android artifacts in a reusable workflow gh-137242: Build Android artifacts in a reusable workflow Aug 14, 2025
@mhsmith
Copy link
Member

mhsmith commented Aug 14, 2025

Thanks; I'm on holiday for the next few days, but I'll look at this when I get back.

@freakboy3742
Copy link
Contributor

So - I can see how this change works; I guess the part I'm not understanding is why it's a net improvement.

Adding this reusable workflow adds almost 100 lines of (moderately complex) GitHub Actions configuration, so that we can re-use the workflow... in exactly 2 places. In one of those places (CPython's repo), exactly 1 line of code is saved by this refactor; in release-tools, we save 9 lines. And the duplicated code that is being replaced isn't especially complex - it's "checkout repository", "call single script", "save artefacts" - all very common (and reasonably well understood) actions; and it's being replaced by a workflow configuration that isn't exactly complex, but at the very least has it's own learning curve.

In a world where the python Android/android.py ci step was more complicated (i.e., the original form of the Android CI PR), I can see how this sort of refactoring would make sense. But given where we landed (using ::group:: markers and encoding everything in Python), I feel like I'm missing something.

Is there some other use case that I'm missing? Some other benefit of being a reusable workflow?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting review infra CI, GitHub Actions, buildbots, Dependabot, etc. OS-android skip news
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants