summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Wray <jason@mapbox.com>2019-08-09 18:29:59 -0700
committerJason Wray <jason@mapbox.com>2019-08-16 13:22:53 -0700
commit0f4d196bd04e8145af879770591d92a178e0d605 (patch)
tree3d1ca905d402602e7ede0b93a2f5f27aef271f58
parent1be4aa4e7489d7dfca73e671e378601fd66f3966 (diff)
downloadqtlocation-mapboxgl-0f4d196bd04e8145af879770591d92a178e0d605.tar.gz
Run integration tests on AWS device farm
-rw-r--r--Makefile11
-rw-r--r--circle.yml41
2 files changed, 52 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 9002542eee..fb3285aa73 100644
--- a/Makefile
+++ b/Makefile
@@ -332,6 +332,17 @@ ios-install-simulators:
ios-check-events-symbols:
./platform/ios/scripts/check-events-symbols.sh
+.PHONY: ios-device-farm
+ios-device-farm: $(IOS_PROJ_PATH)
+ set -o pipefail && xcodebuild \
+ ARCHS=arm64 ONLY_ACTIVE_ARCH=YES \
+ CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO \
+ -derivedDataPath $(IOS_OUTPUT_PATH) \
+ -configuration $(BUILDTYPE) -sdk iphoneos \
+ -workspace $(IOS_WORK_PATH) \
+ -jobs $(JOBS) \
+ -scheme 'Integration Test Harness' build-for-testing $(XCPRETTY)
+
.PHONY: ipackage
ipackage: ipackage*
ipackage%:
diff --git a/circle.yml b/circle.yml
index 47bc1e9bdb..c4bdc09f5b 100644
--- a/circle.yml
+++ b/circle.yml
@@ -53,6 +53,7 @@ workflows:
- linux-doxygen
- linux-render-tests
- ios-debug
+ - ios-debug-device-farm
- ios-debug-xcode11
- ios-release-template:
name: ios-release
@@ -1021,6 +1022,46 @@ jobs:
- upload-xcode-build-logs
# ------------------------------------------------------------------------------
+ ios-debug-device-farm:
+ macos:
+ xcode: "10.3.0"
+ environment:
+ BUILDTYPE: Debug
+ HOMEBREW_NO_AUTO_UPDATE: 1
+ HOMEBREW_NO_INSTALL_CLEANUP: 1
+ steps:
+ - install-macos-dependencies
+ - install-dependencies
+ - check-if-this-job-can-be-skipped
+ - run:
+ name: Build for testing
+ command: make ios-device-farm
+ - run:
+ name: Prepare Integration Test Harness for device farm
+ command: |
+ cd build/ios
+ export AWS_DEVICE_FARM_PAYLOAD="$PWD/Integration Tests.ipa"
+ export AWS_DEVICE_FARM_TESTRUNNER_PAYLOAD="$PWD/Integration Test Harness XCTest.zip"
+ mkdir Payload && cp -r "Debug-iphoneos/Integration Test Harness.app" Payload
+ cp -r "Payload/Integration Test Harness.app/PlugIns/integration.xctest" .
+ zip -r "$AWS_DEVICE_FARM_TESTRUNNER_PAYLOAD" *.xctest
+ zip -r "$AWS_DEVICE_FARM_PAYLOAD" Payload
+ echo "export AWS_DEVICE_FARM_PAYLOAD=\"$AWS_DEVICE_FARM_PAYLOAD\"" >> $BASH_ENV
+ echo "export AWS_DEVICE_FARM_TESTRUNNER_PAYLOAD=\"$AWS_DEVICE_FARM_TESTRUNNER_PAYLOAD\"" >> $BASH_ENV
+ - run:
+ name: Upload and run tests on device farm
+ command: |
+ pip install requests awscli
+ python platform/ios/scripts/run-device-farm-ios.py \
+ --project arn:aws:devicefarm:us-west-2:234858372212:project:075d6a84-70b3-43e4-a164-0d119fbd967f \
+ --devicepool arn:aws:devicefarm:us-west-2:234858372212:devicepool:075d6a84-70b3-43e4-a164-0d119fbd967f/29c06cb4-f885-4132-a7b2-e7f139fbfc74 \
+ --ipa "$AWS_DEVICE_FARM_PAYLOAD" \
+ --test "$AWS_DEVICE_FARM_TESTRUNNER_PAYLOAD"
+ - save-dependencies
+ - collect-xcode-build-logs
+ - upload-xcode-build-logs
+
+# ------------------------------------------------------------------------------
ios-debug-xcode11:
macos:
xcode: "11.0.0"