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

Updates of example projects for Xcode12.0.1 #722

Merged
merged 6 commits into from
Oct 13, 2020

Conversation

vixentael
Copy link
Contributor

@vixentael vixentael commented Oct 12, 2020

Apparently, updating Github Actions to Xcode 12.2 (#721) was a bad idea, as Xcode 12.0.1 and Xcode 12.2 are quite different, let's not rush things.

This update sets Xcode 12.0 as Github actions Xcode, and updates iOS Swift CocoaPods example.

Expected behaviour: to see more tests going green.

Checklist

  • Change is covered by automated tests
  • Example projects and code samples are up-to-date (in case of API changes)
  • Changelog is updated (in case of notable or breaking changes)

@vixentael vixentael added M-CocoaPods Package manager: CocoaPods, Objective-C and Swift, iOS and macOS O-iOS 📱 Operating system: iOS labels Oct 12, 2020
@vixentael vixentael added the infrastructure Automated building and packaging label Oct 12, 2020
@vixentael vixentael added the M-Carthage Package manager: Carthage, Objective-C and Swift, iOS and macOS label Oct 12, 2020
@vixentael vixentael marked this pull request as ready for review October 13, 2020 10:09
@vixentael vixentael changed the title Updates of example projects for Xcode12 Updates of example projects for Xcode12.0.1 Oct 13, 2020
@vixentael
Copy link
Contributor Author

Okay, so I've updated Bitrise and Github actions to use Xcode 12.0.1, and exclude arm64 for Carthage builds.

Copy link
Collaborator

@ilammy ilammy left a comment

Choose a reason for hiding this comment

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

Overall, seems okay. I mean, the tests pass! 🎉

Comment on lines +178 to +189
# ------ beginning of workaround
# from https://github.com/Carthage/Carthage/issues/3019#issuecomment-699143260
# supports Xcode 12.0.1
set -euo pipefail
xcconfig=$(mktemp /tmp/static.xcconfig.XXXXXX)
trap 'rm -f "$xcconfig"' INT TERM HUP EXIT
# For Xcode 12 make sure EXCLUDED_ARCHS is set to arm architectures otherwise
# the build will fail on lipo due to duplicate architectures.
echo 'EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200 = arm64 arm64e armv7 armv7s armv6 armv8' >> $xcconfig
echo 'EXCLUDED_ARCHS = $(inherited) $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_$(EFFECTIVE_PLATFORM_SUFFIX)__NATIVE_ARCH_64_BIT_$(NATIVE_ARCH_64_BIT)__XCODE_$(XCODE_VERSION_MAJOR))' >> $xcconfig
export XCODE_XCCONFIG_FILE="$xcconfig"
# ------ end of workaround
Copy link
Collaborator

Choose a reason for hiding this comment

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

I believe it would be better to create a config file in our repo and then

export XCODE_XCCONFIG_FILE="path/to/our.xcconfig"

instead of creating a temporary file, etc.

The set -euo pipefail can also be omitted in this case. GitHub Actions already enable that, IIRC.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I agree, but I really hope that these are temporally measures and we won't need them soon.
(Nothing is more permanent than a temporary solution)

@vixentael vixentael merged commit 1ae32a3 into master Oct 13, 2020
@vixentael vixentael deleted the vxtl/T1824-update-ios-example-apps branch October 13, 2020 11:48
ilammy pushed a commit to ilammy/themis that referenced this pull request Oct 26, 2020
* github actions -> use xcode 12.0

* updating ios swift cocoapods example for themis 0.13.3

* disable openssl-1.1.1 subspec

* "fix" carthage build by disabling arm64

* github actions: carthage, exclude arm64 architecture

* update changelog

(cherry picked from commit 1ae32a3)
ilammy added a commit to ilammy/themis that referenced this pull request Oct 26, 2020
…cossacklabs#724, cossacklabs#726)

* Switch github actions to Xcode12 [ios, macos] (cossacklabs#721)
  - update github actions xcode12
  - update changelog
  - update swift ios cocoapods project
  (cherry picked from commit d22bbab)

* Updates of example projects for Xcode12.0.1 (cossacklabs#722)
  - github actions -> use xcode 12.0
  - updating ios swift cocoapods example for themis 0.13.3
  - disable openssl-1.1.1 subspec
  - "fix" carthage build by disabling arm64
  - github actions: carthage, exclude arm64 architecture
  - update changelog
  (cherry picked from commit 1ae32a3)

* update ios objc and server examples for themis 0.13.3 (cossacklabs#723)
  - update ios objc and server examples for themis 0.13.3
  - updated changelog
  (cherry picked from commit dc336bb)

* update iOS carthage examples for themis 0.13.3 (cossacklabs#724)
  - update iOS carthage examples for themis 0.13.3
  - updated changelog
  (cherry picked from commit 0577424)

* updated macOS examples for themis 0.13.3 (cossacklabs#726)
  - updated macOS examples for themis 0.13.3
  - updated changelog
  (cherry picked from commit 9f14a5e)

I've squashed all commits in one as conceptually this is a single change
migrating the build to Xcode 12 and examples to Themis 0.13.3 which
supports Xcode 12.

The changes do not include CHANGELOG.md, but that will be synced later
during the next major release.

Signed-off-by: Alexei Lozovsky <[email protected]>
Co-authored-by: julepka <[email protected]>
Co-authored-by: vixentael <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infrastructure Automated building and packaging M-Carthage Package manager: Carthage, Objective-C and Swift, iOS and macOS M-CocoaPods Package manager: CocoaPods, Objective-C and Swift, iOS and macOS O-iOS 📱 Operating system: iOS
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants