diff options
author | Andrew Morrow <acm@mongodb.com> | 2018-09-27 14:07:38 -0400 |
---|---|---|
committer | Andrew Morrow <acm@mongodb.com> | 2018-09-28 10:23:12 -0400 |
commit | 666545a2c01ad724912391ca44be36981d3ed0d2 (patch) | |
tree | 2584dcecddded3ad4f65d6c5ddf0c356830da55a /etc | |
parent | c239aadaf576de8530d98dc024ca66c90384dc76 (diff) | |
download | mongo-666545a2c01ad724912391ca44be36981d3ed0d2.tar.gz |
SERVER-37157 Add unified darwin mobile platforms builder
(cherry picked from commit ee1430c1b614823ace91c704e5bec9488970212f)
Diffstat (limited to 'etc')
-rw-r--r-- | etc/evergreen.yml | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/etc/evergreen.yml b/etc/evergreen.yml index 1dc6bb38bbd..8e0ef595cec 100644 --- a/etc/evergreen.yml +++ b/etc/evergreen.yml @@ -3867,6 +3867,137 @@ tasks: permissions: public-read content_type: application/tar + +- name: embedded_sdk_multiarch_apple_package + depends_on: + - name: embedded_sdk_s3_put + variant: embedded-sdk-iphoneos-10.2 + - name: embedded_sdk_s3_put + variant: embedded-sdk-iphonesimulator-10.2 + - name: embedded_sdk_s3_put + variant: embedded-sdk-appletvos-10.2 + - name: embedded_sdk_s3_put + variant: embedded-sdk-appletvsimulator-10.2 + - name: embedded_sdk_s3_put + variant: embedded-sdk-watchos-4.2 + - name: embedded_sdk_s3_put + variant: embedded-sdk-watchsimulator-4.2 + + commands: + - command: manifest.load + - func: "git get project" + - func: "get buildnumber" + - func: "set up credentials" + - func: "generate compile expansions" + - func: "apply compile expansions" + + - command: s3.get + params: + aws_key: ${aws_key} + aws_secret: ${aws_secret} + remote_file: ${project}/embedded-sdk/embedded-sdk-iphoneos-10.2/${revision}/${version}.tgz + bucket: mciuploads + local_file: "iPhoneOS/embedded-sdk.tgz" + + - command: s3.get + params: + aws_key: ${aws_key} + aws_secret: ${aws_secret} + remote_file: ${project}/embedded-sdk/embedded-sdk-iphonesimulator-10.2/${revision}/${version}.tgz + bucket: mciuploads + local_file: "iPhoneSimulator/embedded-sdk.tgz" + + - command: s3.get + params: + aws_key: ${aws_key} + aws_secret: ${aws_secret} + remote_file: ${project}/embedded-sdk/embedded-sdk-appletvos-10.2/${revision}/${version}.tgz + bucket: mciuploads + local_file: "AppleTVOS/embedded-sdk.tgz" + + - command: s3.get + params: + aws_key: ${aws_key} + aws_secret: ${aws_secret} + remote_file: ${project}/embedded-sdk/embedded-sdk-appletvsimulator-10.2/${revision}/${version}.tgz + bucket: mciuploads + local_file: "AppleTVSimulator/embedded-sdk.tgz" + + - command: s3.get + params: + aws_key: ${aws_key} + aws_secret: ${aws_secret} + remote_file: ${project}/embedded-sdk/embedded-sdk-watchos-4.2/${revision}/${version}.tgz + bucket: mciuploads + local_file: "WatchOS/embedded-sdk.tgz" + + - command: s3.get + params: + aws_key: ${aws_key} + aws_secret: ${aws_secret} + remote_file: ${project}/embedded-sdk/embedded-sdk-watchsimulator-4.2/${revision}/${version}.tgz + bucket: mciuploads + local_file: "WatchSimulator/embedded-sdk.tgz" + + - command: shell.exec + params: + script: | + set -o errexit + set -o verbose + + for directory in *OS *Simulator; do + pushd $directory + tar --include "*/Frameworks*" --include "*/LICENSE*" --strip-components=1 -xf ./embedded-sdk.tgz + popd + done + + for platform in iPhone AppleTV Watch; do + for framework in bson mongoc mongo_embedded mongoc_embedded; do + _OSFile=$(printf ./%sOS/Frameworks/%s.framework/%s $platform $framework $framework) + _SimulatorFile=$(printf ./%sSimulator/Frameworks/%s.framework/%s $platform $framework $framework) + ${compile_env|} xcrun lipo $_OSFile $_SimulatorFile -create -output $_OSFile + done + done + + tar --exclude "*/*.tgz" -zcvf mongo-embedded-sdk-${version}.tgz ./*OS + + - command: s3.put + params: + aws_key: ${aws_key} + aws_secret: ${aws_secret} + local_file: "mongo-embedded-sdk-${version}.tgz" + remote_file: "${project}/embedded-sdk/embedded-sdk-apple-multiarch/${revision}/${version}.tgz" + bucket: mciuploads + permissions: public-read + content_type: application/tar + display_name: "Embedded SDK Tar Archive" + + # If this is a patch build, blow away the file so our subsequent and optional s3.put + # doesn't run. That way, we won't overwrite the latest part in our patches. + - command: shell.exec + params: + script: | + set -o errexit + set -o verbose + + if [ "${is_patch}" = "true" ]; then + rm -f mongo-embedded-sdk-${version}.tgz + fi + + # A second put, this time to -latest, to give devs a reasonable + # way to get the most recent build. + - command: s3.put + params: + visibility: none + optional: true + aws_key: ${aws_key} + aws_secret: ${aws_secret} + local_file: "mongo-embedded-sdk-${version}.tgz" + remote_file: ${project}/embedded-sdk/${build_variant}-latest.tgz + bucket: mciuploads + permissions: public-read + content_type: application/tar + - name: compile_benchmarks depends_on: [] commands: @@ -10160,6 +10291,16 @@ buildvariants: tasks: - name: embedded_sdk_build_and_test +- name: embedded-sdk-apple-multiarch + display_name: "Embedded SDK - Apple Multiarch" + run_on: + - macos-1012 + batchtime: 1440 # 1 day + expansions: + compile_env: DEVELOPER_DIR=/Applications/XCode9.2.app + tasks: + - name: embedded_sdk_multiarch_apple_package + - name: embedded-sdk-ubuntu-1604-x86_64 display_name: "Embedded SDK - Ubuntu 16.04 x86_64" run_on: |