[AMSDK-10131] Archive AEPCommerceDemoApp in CI#35
Conversation
New AEPCommerceDemoApp.xcodeproj is under build/xcode and will be moved in later commits to demo folder once project files are setup.
…orm pod to target
…dfile. Creates a separate Xcode project for the AEPCommerceDemoApp which includes the ACPExperienePlatform as a library file. To use, copy the libACPExperiencePlatform.a file and ACPExperiencePlatform.swiftmodule folder to the libs/ folder. Open the AEPCommerceDemoApp.xcworkspace file and run the AEPCommerceDemoApp target.
…ExperiencePlatform project. The AEPCommerceDemoApp files are included here as source so it is convenient to build the app while developing the extension. However, as there is a separate Xcode project for the demo app, any file additions or deletions, or any project changes will also need to be done in the demo/AEPCommerceDemoApp/AEPCommerceDemoApp.xcworkspace as well.
…ut instead built as source.
Move make targets for archiving demo app from build/xcode/Makefile to new demo/AEPCommerceDemoApp/Makefile. Add targets to /Makefile to build and archive demo app.
…ting. Remove the 'master' branch check in the deploy step for testing.
|
|
||
| - deploy: | ||
| command: | | ||
| if [ "${CIRCLE_BRANCH}" == "master" ]; then |
There was a problem hiding this comment.
Removing this check for now to test building the demo archive in CI. Before merging, will need to add the check back to archive the demo app only on 'master' branch.
There was a problem hiding this comment.
In order to build the demo app as a verification step, the universal library needs to be built first. This means, however, that if we want to build the demo app in CI we'll need to build the lib for every build and not just on master. Per CircleCI docs, build artifacts are stored for 30 days.
| import ACPCore | ||
|
|
||
| class ExperiencePlatformInternal : ACPExtension { | ||
| private static let version = "1.0.0-alpha" |
There was a problem hiding this comment.
Moved to static variable to make it easier to parse from Makefile.
This is an attempt to fix the broken Codecov uploads. A forum post suggests this may fix the issue, https://community.codecov.io/t/upload-fails-repeatedly-on-bitrise/420/5.
Codecov Report
@@ Coverage Diff @@
## dev #35 +/- ##
======================================
Coverage ? 71.53%
======================================
Files ? 29
Lines ? 959
Branches ? 0
======================================
Hits ? 686
Misses ? 273
Partials ? 0 |
|
Here's how the artifacts will look https://app.circleci.com/pipelines/github/adobe/aepsdk-platform-ios/96/workflows/da762cb2-8e41-4200-a695-1d4b35b910cb/jobs/98/artifacts. There are two zipped files,
|
…irectory and subdirectories. In Swift 5.2.2 the compiler generates a Project folder under the swiftmodule folder. Using 'mv' to move the folders for each architecture will fail if it has subdirectories. Using tar to compress and extract the directories instead.
|
Changes look good, but I am seeing the following error when running locally: It seems like the machine you are running on should have the exact swift version as the one it was compiled with. |
…encePlatform lib target
We would like to use the lowest version of Xcode possible to build the Swift library as the lib will only work when compiled for Swift versions >= the lib's Swift version. However, we'd also like to use a CocoaPods version with default support for CDN, which is v1.8.0+.
Remember to run 'circleci config validate' before pushing changes :)
… default version of CocoaPods and not Gemfile version.
…xperiencePlatform
|
These recent changes were to get the built static library to work across Swift versions.
|
emdobrin
left a comment
There was a problem hiding this comment.
I am able to successfully build the test app with latest build, using Swift 5.2.4
.circleci/config.yml
Outdated
There was a problem hiding this comment.
I think this should only run on master too
…n 'master' branch.
Description
This PR has a lot of project file changes. I would suggest checking out the PR and opening and running the projects to verify the structures.
To be done in another PR: README updates to detail how to use the built libs with the zipped demo app.
Related Issue
Motivation and Context
How Has This Been Tested?
Ran Makefile locally to build libs and demo app. Used built libs with extracted demo app and ran Xcode project.
Screenshots (if appropriate):
Types of changes
Checklist: