-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
base: master
Are you sure you want to change the base?
Conversation
…aries for cpprestsdk
…ts to current; Fixes wrong path to built boost.framework
…Updates version of upload artifact that is supposed to understand wildcards
…update link to the upstream repo
…d to be in this commit. Adding explanations to some cmake changes
@BillyONeal, have you had a chance to look at this? |
@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. |
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.