Skip to content
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 Android workflow #44

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

Add Android workflow #44

wants to merge 1 commit into from

Conversation

marcprux
Copy link

@marcprux marcprux commented Jan 7, 2025

This PR adds the with_android input parameter (false by default) to run-unit-tests.yml that will use the swift-android-action to cross-compile the package for Android and run the tests in an Android emulator.

You can see a successful run of the self-test.yml workflow using this new option at: https://github.com/marcprux/ci/actions/runs/12659675167/job/35279261780

@marcprux marcprux requested a review from gwynne as a code owner January 7, 2025 21:50
@0xTim
Copy link
Member

0xTim commented Jan 8, 2025

I think we'll need to wait until Swift/SwiftNIO support Android before we can consider adopting Android as a (semi) supported platform in Vapor

@marcprux
Copy link
Author

marcprux commented Jan 8, 2025

I think we'll need to wait until Swift/SwiftNIO support Android

SwiftNIO does work on Android (recently fixed in apple/swift-nio#3033). It is tested as part of @finagolfin's Android SDK builds.

before we can consider adopting Android as a (semi) supported platform in Vapor

Like with Windows and Musl, the Android build/test flag is off by default. There's certainly more work that will need to be done to add it as a supported platform, but this addition will at least permit developers to experiment with Android support in their packages easily.

@gwynne
Copy link
Member

gwynne commented Jan 8, 2025

What developers? This workflow is used only by Vapor (for the most part).

@marcprux
Copy link
Author

marcprux commented Jan 8, 2025

What developers? This workflow is used only by Vapor (for the most part).

My personal rationale is that I need to implement Android support for jwt-kit, which is a dependency of some other projects that are aiming to support Android (and which is currently failing). Using this workflow helped me identify an issue with apple/swift-certificates#217, which just got merged.

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.

3 participants