summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuha Alanen <juha.alanen@mapbox.com>2020-02-25 12:20:01 +0200
committerJuha Alanen <juha.alanen@mapbox.com>2020-02-25 15:10:46 +0200
commita3b5b2e868da50553c02c3f60a8b87fd9ab3fa73 (patch)
treeff0af159f736bc96409c9e6d4bea465f25935a5c
parentb681f615929e1dfd9ffbe2f02d052c8e16fa125b (diff)
downloadqtlocation-mapboxgl-a3b5b2e868da50553c02c3f60a8b87fd9ab3fa73.tar.gz
[build][ios] Reorganize iOS test runner jobs
-rwxr-xr-xbenchmark/ios/codesigning/codesign_all.sh4
-rw-r--r--circle.yml166
-rwxr-xr-xrender-test/ios/codesigning/codesign_all.sh4
-rwxr-xr-xtest/ios/codesigning/codesign_all.sh4
4 files changed, 73 insertions, 105 deletions
diff --git a/benchmark/ios/codesigning/codesign_all.sh b/benchmark/ios/codesigning/codesign_all.sh
index 70f5aee74b..b1e8cd849c 100755
--- a/benchmark/ios/codesigning/codesign_all.sh
+++ b/benchmark/ios/codesigning/codesign_all.sh
@@ -1,8 +1,8 @@
#!/bin/bash
-codesign --force --sign $CODESIGNIDENTITY --entitlements ../codesigning/BenchmarkApp.app.xcent --timestamp=none ./Release-iphoneos/BenchmarkApp.app
+codesign --force --sign $CODESIGNIDENTITY --entitlements codesigning/BenchmarkApp.app.xcent --timestamp=none ./Release-iphoneos/BenchmarkApp.app
codesign --force --sign $CODESIGNIDENTITY --deep --preserve-metadata=identifier,entitlements,flags --timestamp=none ./Release-iphoneos/BenchmarkApp.app/Frameworks/libXCTestSwiftSupport.dylib
codesign --force --sign $CODESIGNIDENTITY --deep --preserve-metadata=identifier,entitlements,flags --timestamp=none ./Release-iphoneos/BenchmarkApp.app/Frameworks/libXCTestBundleInject.dylib
codesign --force --sign $CODESIGNIDENTITY --deep --preserve-metadata=identifier,entitlements,flags --timestamp=none ./Release-iphoneos/BenchmarkApp.app/Frameworks/XCTAutomationSupport.framework
codesign --force --sign $CODESIGNIDENTITY --deep --preserve-metadata=identifier,entitlements,flags --timestamp=none ./Release-iphoneos/BenchmarkApp.app/Frameworks/XCTest.framework
-codesign --force --sign $CODESIGNIDENTITY --deep --entitlements ../codesigning/BenchmarkAppTests.xctest.xcent --timestamp=none ./Release-iphoneos/BenchmarkApp.app/PlugIns/BenchmarkAppTests.xctest
+codesign --force --sign $CODESIGNIDENTITY --deep --entitlements codesigning/BenchmarkAppTests.xctest.xcent --timestamp=none ./Release-iphoneos/BenchmarkApp.app/PlugIns/BenchmarkAppTests.xctest
diff --git a/circle.yml b/circle.yml
index 48e9e12df7..1081e42dd2 100644
--- a/circle.yml
+++ b/circle.yml
@@ -323,53 +323,67 @@ commands:
echo "${GCLOUD_SERVICE_ACCOUNT_JSON}" > secret.json
gcloud auth activate-service-account --key-file secret.json --project android-gl-native
rm secret.json
-jobs:
- ios-render-test-runner:
- executor: macos-11_3_1
+ login-google-cloud-platform-ios:
+ steps:
+ - run:
+ name: Login to IOS Google Cloud Platform
+ command: |
+ if [[ -n "${GCLOUD_SERVICE_ACCOUNT_JSON_IOS}" ]]; then
+ echo "${GCLOUD_SERVICE_ACCOUNT_JSON_IOS}" > iosAccount.json
+ gcloud auth activate-service-account --key-file iosAccount.json --project ios-mapbox-gl-native
+ rm iosAccount.json
+ fi
+ prepare-ios-codesign-keychain:
+ parameters:
+ directory:
+ type: string
steps:
- - checkout
- - prepare
- - prepare-macos
- run:
- name: Prepare codesign keychain
+ name: Prepare codesign keychain
command: |
- cd render-test/ios
+ cd << parameters.directory >>
fastlane run create_keychain name:fastlane_keychain password:$FASTLANE_PASSWORD timeout:false unlock:true
fastlane match
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $FASTLANE_PASSWORD fastlane_keychain
/usr/bin/env xcrun security find-identity -v -p codesigning
+ codesign-ios-test-runner:
+ parameters:
+ directory:
+ type: string
+ steps:
- run:
- name: Build IOS RenderTestApp
- command: |
- cd render-test/ios
- ccache --zero-stats --max-size=2G
- cmake ../.. -B Build -G Xcode -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DMBGL_IOS_RENDER_TEST=ON -DCMAKE_OSX_ARCHITECTURES=arm64e
- cmake --build Build --config Release
- ccache --show-stats
- - run:
- name: Codesign RenderTestApp for running on a physical device
+ name: Codesign iOS TestApp for running on a physical device
command: |
- cd render-test/ios
+ cp -r << parameters.directory >>/codesigning build
+ cd build
./codesigning/generate-entitlements.swift
- cd Build
- ../codesigning/codesign_all.sh
- codesign -dv --verbose=4 Release-iphoneos/RenderTestApp.app # for debugging that app is signed or not
- - run:
- name: Login to IOS Google Cloud Platform
- command: |
- if [[ -n "${GCLOUD_SERVICE_ACCOUNT_JSON_IOS}" ]]; then
- echo "${GCLOUD_SERVICE_ACCOUNT_JSON_IOS}" > iosAccount.json
- gcloud auth activate-service-account --key-file iosAccount.json --project ios-mapbox-gl-native
- rm iosAccount.json
- fi
+ ./codesigning/codesign_all.sh
+ codesign -dv --verbose=4 Release-iphoneos/*.app # for debugging that app is signed or not
+
+jobs:
+ ios-render-test-runner:
+ executor: macos-11_3_1
+ steps:
+ - checkout
+ - prepare
+ - prepare-macos
+ - prepare-ios-codesign-keychain:
+ directory: render-test/ios
+ - config:
+ config_params: '-G Xcode -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DMBGL_IOS_RENDER_TEST=ON -DCMAKE_OSX_ARCHITECTURES=arm64e'
+ - build:
+ build_params: '--config Release'
+ - codesign-ios-test-runner:
+ directory: render-test/ios
+ - login-google-cloud-platform-ios
- run:
name: Run IOSRenderTestApp Tests on Firebase
no_output_timeout: 20m
command: |
if [[ -n "${GCLOUD_SERVICE_ACCOUNT_JSON_IOS}" ]]; then
# arrange files in a way Firebase expects it, and package them in a zip file
- cd render-test/ios/Build
- cp ../RenderTestApp_iphoneos13.2-arm64e-release.xctestrun .
+ cd build
+ cp ../render-test/ios/RenderTestApp_iphoneos13.2-arm64e-release.xctestrun .
zip testapp.zip -r Release-iphoneos/RenderTestApp.app --quiet
zip testapp.zip RenderTestApp_iphoneos13.2-arm64e-release.xctestrun
gcloud firebase test ios models list
@@ -404,46 +418,23 @@ jobs:
- checkout
- prepare
- prepare-macos
- - run:
- name: Prepare codesign keychain
- command: |
- cd test/ios
- fastlane run create_keychain name:fastlane_keychain password:$FASTLANE_PASSWORD timeout:false unlock:true
- fastlane match
- security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $FASTLANE_PASSWORD fastlane_keychain
- /usr/bin/env xcrun security find-identity -v -p codesigning
- - run:
- name: Build IOS UnitTestsApp
- command: |
- cd test/ios
- ccache --zero-stats --max-size=2G
- cmake ../.. -B Build -G Xcode -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DMBGL_IOS_UNIT_TEST=1 -DCMAKE_OSX_ARCHITECTURES=arm64e
- cmake --build Build --config Release
- ccache --show-stats
- - run:
- name: Codesign UnitTestsApp for running on a physical device
- command: |
- cd test/ios
- ./codesigning/generate-entitlements.swift
- cd Build
- ../codesigning/codesign_all.sh
- codesign -dv --verbose=4 Release-iphoneos/UnitTestsApp.app
- - run:
- name: Login to IOS Google Cloud Platform
- command: |
- if [[ -n "${GCLOUD_SERVICE_ACCOUNT_JSON_IOS}" ]]; then
- echo "${GCLOUD_SERVICE_ACCOUNT_JSON_IOS}" > iosAccount.json
- gcloud auth activate-service-account --key-file iosAccount.json --project ios-mapbox-gl-native
- rm iosAccount.json
- fi
+ - prepare-ios-codesign-keychain:
+ directory: test/ios
+ - config:
+ config_params: '-G Xcode -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DMBGL_IOS_UNIT_TEST=ON -DCMAKE_OSX_ARCHITECTURES=arm64e'
+ - build:
+ build_params: '--config Release'
+ - codesign-ios-test-runner:
+ directory: test/ios
+ - login-google-cloud-platform-ios
- run:
name: Run UnitTestsApp on Firebase
no_output_timeout: 20m
command: |
if [[ -n "${GCLOUD_SERVICE_ACCOUNT_JSON_IOS}" ]]; then
# arrange files in a way Firebase expects it, and package them in a zip file
- cd test/ios/Build
- cp ../UnitTestsApp_iphoneos13.2-arm64e-release.xctestrun .
+ cd build
+ cp ../test/ios/UnitTestsApp_iphoneos13.2-arm64e-release.xctestrun .
zip testapp.zip -r Release-iphoneos/UnitTestsApp.app --quiet
zip testapp.zip UnitTestsApp_iphoneos13.2-arm64e-release.xctestrun
gcloud firebase test ios models list
@@ -472,46 +463,23 @@ jobs:
- checkout
- prepare
- prepare-macos
- - run:
- name: Prepare codesign keychain
- command: |
- cd benchmark/ios
- fastlane run create_keychain name:fastlane_keychain password:$FASTLANE_PASSWORD timeout:false unlock:true
- fastlane match
- security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $FASTLANE_PASSWORD fastlane_keychain
- /usr/bin/env xcrun security find-identity -v -p codesigning
- - run:
- name: Build IOS BenchmarkApp
- command: |
- cd benchmark/ios
- ccache --zero-stats --max-size=2G
- cmake ../.. -B Build -G Xcode -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DMBGL_IOS_BENCHMARK=1 -DCMAKE_OSX_ARCHITECTURES=arm64e
- cmake --build Build --config Release
- ccache --show-stats
- - run:
- name: Codesign BenchmarkApp for running on a physical device
- command: |
- cd benchmark/ios
- ./codesigning/generate-entitlements.swift
- cd Build
- ../codesigning/codesign_all.sh
- codesign -dv --verbose=4 Release-iphoneos/BenchmarkApp.app
- - run:
- name: Login to IOS Google Cloud Platform
- command: |
- if [[ -n "${GCLOUD_SERVICE_ACCOUNT_JSON_IOS}" ]]; then
- echo "${GCLOUD_SERVICE_ACCOUNT_JSON_IOS}" > iosAccount.json
- gcloud auth activate-service-account --key-file iosAccount.json --project ios-mapbox-gl-native
- rm iosAccount.json
- fi
+ - prepare-ios-codesign-keychain:
+ directory: benchmark/ios
+ - config:
+ config_params: '-G Xcode -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DMBGL_IOS_BENCHMARK=ON -DCMAKE_OSX_ARCHITECTURES=arm64e'
+ - build:
+ build_params: '--config Release'
+ - codesign-ios-test-runner:
+ directory: benchmark/ios
+ - login-google-cloud-platform-ios
- run:
name: Run BenchmarkApp on Firebase
no_output_timeout: 20m
command: |
if [[ -n "${GCLOUD_SERVICE_ACCOUNT_JSON_IOS}" ]]; then
# arrange files in a way Firebase expects it, and package them in a zip file
- cd benchmark/ios/Build
- cp ../BenchmarkApp_iphoneos13.2-arm64e-release.xctestrun .
+ cd build
+ cp ../benchmark/ios/BenchmarkApp_iphoneos13.2-arm64e-release.xctestrun .
zip testapp.zip -r Release-iphoneos/BenchmarkApp.app --quiet
zip testapp.zip BenchmarkApp_iphoneos13.2-arm64e-release.xctestrun
gcloud firebase test ios models list
diff --git a/render-test/ios/codesigning/codesign_all.sh b/render-test/ios/codesigning/codesign_all.sh
index 37aad618ee..d11f325f35 100755
--- a/render-test/ios/codesigning/codesign_all.sh
+++ b/render-test/ios/codesigning/codesign_all.sh
@@ -1,8 +1,8 @@
#!/bin/bash
-codesign --force --sign $CODESIGNIDENTITY --entitlements ../codesigning/RenderTestApp.app.xcent --timestamp=none ./Release-iphoneos/RenderTestApp.app
+codesign --force --sign $CODESIGNIDENTITY --entitlements codesigning/RenderTestApp.app.xcent --timestamp=none ./Release-iphoneos/RenderTestApp.app
codesign --force --sign $CODESIGNIDENTITY --deep --preserve-metadata=identifier,entitlements,flags --timestamp=none ./Release-iphoneos/RenderTestApp.app/Frameworks/libXCTestSwiftSupport.dylib
codesign --force --sign $CODESIGNIDENTITY --deep --preserve-metadata=identifier,entitlements,flags --timestamp=none ./Release-iphoneos/RenderTestApp.app/Frameworks/libXCTestBundleInject.dylib
codesign --force --sign $CODESIGNIDENTITY --deep --preserve-metadata=identifier,entitlements,flags --timestamp=none ./Release-iphoneos/RenderTestApp.app/Frameworks/XCTAutomationSupport.framework
codesign --force --sign $CODESIGNIDENTITY --deep --preserve-metadata=identifier,entitlements,flags --timestamp=none ./Release-iphoneos/RenderTestApp.app/Frameworks/XCTest.framework
-codesign --force --sign $CODESIGNIDENTITY --deep --entitlements ../codesigning/RenderTestAppTests.xctest.xcent --timestamp=none ./Release-iphoneos/RenderTestApp.app/PlugIns/RenderTestAppTests.xctest
+codesign --force --sign $CODESIGNIDENTITY --deep --entitlements codesigning/RenderTestAppTests.xctest.xcent --timestamp=none ./Release-iphoneos/RenderTestApp.app/PlugIns/RenderTestAppTests.xctest
diff --git a/test/ios/codesigning/codesign_all.sh b/test/ios/codesigning/codesign_all.sh
index 1a6007ea94..95e16d6b00 100755
--- a/test/ios/codesigning/codesign_all.sh
+++ b/test/ios/codesigning/codesign_all.sh
@@ -1,8 +1,8 @@
#!/bin/bash
-codesign --force --sign $CODESIGNIDENTITY --entitlements ../codesigning/UnitTestsApp.app.xcent --timestamp=none ./Release-iphoneos/UnitTestsApp.app
+codesign --force --sign $CODESIGNIDENTITY --entitlements codesigning/UnitTestsApp.app.xcent --timestamp=none ./Release-iphoneos/UnitTestsApp.app
codesign --force --sign $CODESIGNIDENTITY --deep --preserve-metadata=identifier,entitlements,flags --timestamp=none ./Release-iphoneos/UnitTestsApp.app/Frameworks/libXCTestSwiftSupport.dylib
codesign --force --sign $CODESIGNIDENTITY --deep --preserve-metadata=identifier,entitlements,flags --timestamp=none ./Release-iphoneos/UnitTestsApp.app/Frameworks/libXCTestBundleInject.dylib
codesign --force --sign $CODESIGNIDENTITY --deep --preserve-metadata=identifier,entitlements,flags --timestamp=none ./Release-iphoneos/UnitTestsApp.app/Frameworks/XCTAutomationSupport.framework
codesign --force --sign $CODESIGNIDENTITY --deep --preserve-metadata=identifier,entitlements,flags --timestamp=none ./Release-iphoneos/UnitTestsApp.app/Frameworks/XCTest.framework
-codesign --force --sign $CODESIGNIDENTITY --deep --entitlements ../codesigning/UnitTestsAppTests.xctest.xcent --timestamp=none ./Release-iphoneos/UnitTestsApp.app/PlugIns/UnitTestsAppTests.xctest
+codesign --force --sign $CODESIGNIDENTITY --deep --entitlements codesigning/UnitTestsAppTests.xctest.xcent --timestamp=none ./Release-iphoneos/UnitTestsApp.app/PlugIns/UnitTestsAppTests.xctest