diff options
author | Juha Alanen <juha.alanen@mapbox.com> | 2020-02-25 12:20:01 +0200 |
---|---|---|
committer | Juha Alanen <juha.alanen@mapbox.com> | 2020-02-25 15:10:46 +0200 |
commit | a3b5b2e868da50553c02c3f60a8b87fd9ab3fa73 (patch) | |
tree | ff0af159f736bc96409c9e6d4bea465f25935a5c | |
parent | b681f615929e1dfd9ffbe2f02d052c8e16fa125b (diff) | |
download | qtlocation-mapboxgl-a3b5b2e868da50553c02c3f60a8b87fd9ab3fa73.tar.gz |
[build][ios] Reorganize iOS test runner jobs
-rwxr-xr-x | benchmark/ios/codesigning/codesign_all.sh | 4 | ||||
-rw-r--r-- | circle.yml | 166 | ||||
-rwxr-xr-x | render-test/ios/codesigning/codesign_all.sh | 4 | ||||
-rwxr-xr-x | test/ios/codesigning/codesign_all.sh | 4 |
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 |