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

GitHub Actions CI workflow for iOS and Android #1435

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

solodon4
Copy link

@solodon4 solodon4 commented May 29, 2020

This pull request adds support for GitHub Actions CI workflow for cpprestsdk on iOS and Android. GitHub Actions is free for open source repositories, so this should not cost anything, but lets us regularly validate mobile targets. Unlike Azure-Pipelines, GitHub Actions workflows get validated by forks, which allows contributors to see any problems before they send a pull request upstream. Binaries produced during the build are only published on tagged commits since they take about 345M for both platforms. Android build takes about 17 min and iOS build takes about 22 min.

This change updates commit SHAs of Boost-for-Android and Apple-Boost-BuildScript repos to latest ones as well as points back to the original Boost-for-Android repo, which now includes support for 21.1 NDK available on GitHub Actions runner, which the workaround does not yet support.

I had to change 2 cmake settings for iOS. One is related to a problem with some standard headers inclusion when targeting iOS that many developers seem to be facing, which I describe in greater details in this StackOveflow post. The other is a command-line warning that for some reason I was unable to disable the usual way via -Wno- flags.

@solodon4
Copy link
Author

@BillyONeal, have you had a chance to look at this?

@solodon4
Copy link
Author

@BillyONeal, I've just updated this to build with the latest Boost-for-Android (only SHA change, needed because GitHub runners now use 21.3 NDK) and Apple-Boost-BuildScript (their script now builds the new .xcframework, which coincidentally simplifies our script). Please have a look to save me from the misery of maintaining a slew of cpprestsdk patches in my repo.

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.

1 participant