From 2d3da3366816bbe3fe298eb7c7cf390269731e33 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Wed, 2 Oct 2024 21:41:47 +0200 Subject: [PATCH 01/27] Use macos-14 runner --- .github/workflows/ios-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 6877b1e96ba..50fe39c5807 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -56,7 +56,7 @@ jobs: ios-build: needs: pre_job if: needs.pre_job.outputs.should_skip != 'true' - runs-on: [self-hosted, macOS, ARM64] + runs-on: macos-14 concurrency: # cancel jobs on PRs only group: ${{ github.workflow }}-${{ github.ref }} @@ -109,7 +109,7 @@ jobs: set -e bazel run //platform/ios:xcodeproj --@rules_xcodeproj//xcodeproj:extra_common_flags="--//:renderer=metal" build_dir="$(mktemp -d)" - xcodebuild build-for-testing -scheme RenderTest -project MapLibre.xcodeproj -derivedDataPath "$build_dir" + xcodebuild build-for-testing -scheme RenderTest -project MapLibre.xcodeproj -derivedDataPath "$build_dir" -destination CODE_SIGNING_ALLOWED=NO render_test_app_dir="$(dirname "$(find "$build_dir" -name RenderTestApp.app)")" cd "$render_test_app_dir" mkdir Payload From eb592d1e05123c5683242ba381f05b557cb6ae58 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Wed, 2 Oct 2024 21:41:47 +0200 Subject: [PATCH 02/27] Use macos-14 runner --- .github/workflows/ios-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 50fe39c5807..630f93108e9 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -109,7 +109,7 @@ jobs: set -e bazel run //platform/ios:xcodeproj --@rules_xcodeproj//xcodeproj:extra_common_flags="--//:renderer=metal" build_dir="$(mktemp -d)" - xcodebuild build-for-testing -scheme RenderTest -project MapLibre.xcodeproj -derivedDataPath "$build_dir" -destination CODE_SIGNING_ALLOWED=NO + xcodebuild build-for-testing -scheme RenderTest -project MapLibre.xcodeproj -derivedDataPath "$build_dir" CODE_SIGNING_ALLOWED=NO render_test_app_dir="$(dirname "$(find "$build_dir" -name RenderTestApp.app)")" cd "$render_test_app_dir" mkdir Payload From cfeb7aa3bd5c2a16fbdc93baca7715dc995227d1 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Wed, 2 Oct 2024 22:16:05 +0200 Subject: [PATCH 03/27] Allow not using provisioning profile --- .github/workflows/ios-ci.yml | 2 +- platform/ios/BUILD.bazel | 21 +++++++++++++++++++++ platform/ios/app-swift/BUILD.bazel | 5 ++++- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 630f93108e9..2869d68ae24 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -84,7 +84,7 @@ jobs: path: ~/.cache/bazel - name: Build Example (Swift) App - run: bazel build //platform/ios/app-swift:MapLibreApp --//:renderer=metal + run: bazel build //platform/ios/app-swift:MapLibreApp --//:renderer=metal --//platform/ios:use_provisioning_profile=False - name: Check debug symbols run: bazel run //platform:check-public-symbols --//:renderer=metal diff --git a/platform/ios/BUILD.bazel b/platform/ios/BUILD.bazel index 1b9eb34bac6..6eab02cc34b 100644 --- a/platform/ios/BUILD.bazel +++ b/platform/ios/BUILD.bazel @@ -22,6 +22,7 @@ load( ) load("//platform/ios/bazel:macros.bzl", "info_plist") load("//platform/ios/bazel:provisioning.bzl", "configure_device_profiles") +load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") configure_device_profiles() @@ -364,3 +365,23 @@ js_library( ], visibility = ["//platform:__pkg__"], ) + +bool_flag( + name = "use_provisioning_profile", + build_setting_default = True, + visibility = ["//visibility:public"], +) + +config_setting( + name = "without_provisioning_profile", + flag_values = { + "//platform/ios:use_provisioning_profile": "False" + }, +) + +config_setting( + name = "with_provisioning_profile", + flag_values = { + "//platform/ios:use_provisioning_profile": "True" + }, +) \ No newline at end of file diff --git a/platform/ios/app-swift/BUILD.bazel b/platform/ios/app-swift/BUILD.bazel index 495a52b2c3e..f9aedf936ae 100644 --- a/platform/ios/app-swift/BUILD.bazel +++ b/platform/ios/app-swift/BUILD.bazel @@ -30,7 +30,10 @@ ios_application( ], infoplists = [":Info.plist"], minimum_os_version = "16.0", - provisioning_profile = "xcode_profile", + provisioning_profile = select({ + "//platform/ios:with_provisioning_profile": "xcode_profile", + "//platform/ios:without_provisioning_profile": None, + }), resources = [ "@pois_nps_mbtiles//file", ], From 2e19c2ad9eae2666d5c53b2fad9fb93949b46dc5 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Thu, 3 Oct 2024 00:26:37 +0200 Subject: [PATCH 04/27] Use macos-15-xlarge runner --- .github/workflows/ios-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 2869d68ae24..277ceb14967 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -56,7 +56,7 @@ jobs: ios-build: needs: pre_job if: needs.pre_job.outputs.should_skip != 'true' - runs-on: macos-14 + runs-on: macos-15-xlarge concurrency: # cancel jobs on PRs only group: ${{ github.workflow }}-${{ github.ref }} @@ -100,7 +100,7 @@ jobs: # run: bazel test //platform/ios/iosapp-UITests:uitest --test_output=errors --//:renderer=metal --features=tsan - name: Running iOS UI tests (Address+UB Sanitizer) - run: bazel test //platform/ios/iosapp-UITests:uitest --test_output=errors --//:renderer=metal --features=include_clang_rt --copt=-fsanitize=undefined --linkopt=-fsanitize=undefined --copt=-fsanitize-recover=null --linkopt=-fsanitize-recover=null + run: bazel test //platform/ios/iosapp-UITests:uitest --test_output=errors --//:renderer=metal --features=include_clang_rt --copt=-fsanitize=undefined --linkopt=-fsanitize=undefined --copt=-fsanitize-recover=null --linkopt=-fsanitize-recover=null --//platform/ios:use_provisioning_profile=False # render test @@ -136,7 +136,7 @@ jobs: set -e bazel run --//:renderer=metal //platform/ios:xcodeproj build_dir="$(mktemp -d)" - xcodebuild build-for-testing -scheme CppUnitTests -project MapLibre.xcodeproj -derivedDataPath "$build_dir" + xcodebuild build-for-testing -scheme CppUnitTests -project MapLibre.xcodeproj -derivedDataPath "$build_dir" CODE_SIGNING_ALLOWED=NO ios_cpp_test_app_dir="$(dirname "$(find "$build_dir" -name CppUnitTestsApp.app)")" cd "$ios_cpp_test_app_dir" mkdir Payload From d1c0438c33813c8178aaa4c54cbe96645572911a Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Thu, 3 Oct 2024 00:37:42 +0200 Subject: [PATCH 05/27] add macos-15-xlarge to actionlint --- .github/actionlint.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actionlint.yaml b/.github/actionlint.yaml index 18bb4fc5e13..5415bbfec34 100644 --- a/.github/actionlint.yaml +++ b/.github/actionlint.yaml @@ -3,6 +3,7 @@ self-hosted-runner: labels: - macos-14 # can be removed once actionlint is updated - ubuntu-24.04 # can be removed once actionlint is updated + - macos-15-xlarge # Configuration variables in array of strings defined in your repository or # organization. `null` means disabling configuration variables check. # Empty array means no configuration variable is allowed. From ea9d48762c938a65f0c50f66b6301e4596ebe201 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Thu, 3 Oct 2024 01:02:41 +0200 Subject: [PATCH 06/27] Allow not using provisioning profile for App Bazel target --- platform/ios/BUILD.bazel | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/platform/ios/BUILD.bazel b/platform/ios/BUILD.bazel index 6eab02cc34b..a051b3984d6 100644 --- a/platform/ios/BUILD.bazel +++ b/platform/ios/BUILD.bazel @@ -197,7 +197,10 @@ ios_application( ], infoplists = ["info_app_plist"], minimum_os_version = "12.0", - provisioning_profile = "xcode_profile", + provisioning_profile = select({ + "//platform/ios:with_provisioning_profile": "xcode_profile", + "//platform/ios:without_provisioning_profile": None, + }), resources = _IOS_APPLICATION_RESOURCES, version = ":maplibre_app_version", visibility = ["//visibility:public"], From d6f914c54d4b9d41d0e918ec9a278ca6712a341e Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Thu, 3 Oct 2024 01:50:05 +0200 Subject: [PATCH 07/27] Allow not using provisioning profile for uitest target --- platform/ios/iosapp-UITests/BUILD.bazel | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/platform/ios/iosapp-UITests/BUILD.bazel b/platform/ios/iosapp-UITests/BUILD.bazel index eee82f4a6f0..97766a47aec 100644 --- a/platform/ios/iosapp-UITests/BUILD.bazel +++ b/platform/ios/iosapp-UITests/BUILD.bazel @@ -17,7 +17,10 @@ ios_ui_test( name = "uitest", size = "large", minimum_os_version = "12.0", - provisioning_profile = "xcode_profile", + provisioning_profile = select({ + "//platform/ios:with_provisioning_profile": "xcode_profile", + "//platform/ios:without_provisioning_profile": None, + }), test_host = "//platform/ios:App", visibility = [ "@rules_xcodeproj//xcodeproj:generated", From 2b314509d6325a8a2e704a8834b9d40bff92f50b Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Thu, 3 Oct 2024 12:07:57 +0200 Subject: [PATCH 08/27] Use provisioning profile flag for all targets --- platform/ios/BUILD.bazel | 10 ++++++++-- platform/ios/test/common/BUILD.bazel | 5 ++++- platform/ios/test/core/BUILD.bazel | 10 ++++++++-- render-test/ios/BUILD.bazel | 5 ++++- 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/platform/ios/BUILD.bazel b/platform/ios/BUILD.bazel index a051b3984d6..453783c241a 100644 --- a/platform/ios/BUILD.bazel +++ b/platform/ios/BUILD.bazel @@ -221,7 +221,10 @@ ios_application( ], infoplists = ["app/Info.plist"], minimum_os_version = "12.0", - provisioning_profile = ":xcode_profile", + provisioning_profile = select({ + "//platform/ios:with_provisioning_profile": "xcode_profile", + "//platform/ios:without_provisioning_profile": None, + }), resources = _IOS_APPLICATION_RESOURCES, visibility = ["//visibility:public"], deps = [ @@ -238,7 +241,10 @@ ios_application( ], infoplists = ["//platform/ios/benchmark:info_benchmark_plist"], minimum_os_version = "12.0", - provisioning_profile = "xcode_profile", + provisioning_profile = select({ + "//platform/ios:with_provisioning_profile": "xcode_profile", + "//platform/ios:without_provisioning_profile": None, + }), resources = [ "//platform/ios/benchmark:bundle_resources", "//platform/ios/benchmark/assets:benchmark_assets", diff --git a/platform/ios/test/common/BUILD.bazel b/platform/ios/test/common/BUILD.bazel index 63032ff29f6..ea280f27a46 100644 --- a/platform/ios/test/common/BUILD.bazel +++ b/platform/ios/test/common/BUILD.bazel @@ -42,7 +42,10 @@ ios_application( "//render-test/ios:Info.plist", ], minimum_os_version = "13.0", - provisioning_profile = "//platform/ios:xcode_profile", + provisioning_profile = select({ + "//platform/ios:with_provisioning_profile": "//platform/ios:xcode_profile", + "//platform/ios:without_provisioning_profile": None, + }), visibility = [ "//visibility:public", ], diff --git a/platform/ios/test/core/BUILD.bazel b/platform/ios/test/core/BUILD.bazel index 9e29a5ae12b..dbe6ff22b13 100644 --- a/platform/ios/test/core/BUILD.bazel +++ b/platform/ios/test/core/BUILD.bazel @@ -50,7 +50,10 @@ ios_application( "Info.plist", ], minimum_os_version = "13.0", - provisioning_profile = "//platform/ios:xcode_profile", + provisioning_profile = select({ + "//platform/ios:with_provisioning_profile": "//platform/ios:xcode_profile", + "//platform/ios:without_provisioning_profile": None, + }), deps = [ "//platform/ios/test/common:test_app_srcs", ], @@ -59,7 +62,10 @@ ios_application( ios_unit_test( name = "CppUnitTests", minimum_os_version = "13.0", - provisioning_profile = "//platform/ios:xcode_profile", + provisioning_profile = select({ + "//platform/ios:with_provisioning_profile": "//platform/ios:xcode_profile", + "//platform/ios:without_provisioning_profile": None, + }), test_host = "CppUnitTestsApp", visibility = ["@rules_xcodeproj//xcodeproj:generated"], deps = [ diff --git a/render-test/ios/BUILD.bazel b/render-test/ios/BUILD.bazel index 8bcec3e6ade..9ea2b4803c4 100644 --- a/render-test/ios/BUILD.bazel +++ b/render-test/ios/BUILD.bazel @@ -52,7 +52,10 @@ objc_library( ios_unit_test( name = "RenderTest", minimum_os_version = "13.0", - provisioning_profile = "//platform/ios:xcode_profile", + provisioning_profile = select({ + "//platform/ios:with_provisioning_profile": "//platform/ios:xcode_profile", + "//platform/ios:without_provisioning_profile": None, + }), runner = "@build_bazel_rules_apple//apple/testing/default_runner:ios_xctestrun_ordered_runner", test_host = "//platform/ios/test/common:RenderTestApp", visibility = [ From 38bc81bc4e62bed1d76661ae643ae8e96b6116ae Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Thu, 3 Oct 2024 14:10:29 +0200 Subject: [PATCH 09/27] Configure provisioning profile when building apps for AWS Device Farm --- .github/workflows/ios-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 277ceb14967..7750abf7d27 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -107,7 +107,7 @@ jobs: - name: Build RenderTest .ipa and .xctest for AWS Device Farm run: | set -e - bazel run //platform/ios:xcodeproj --@rules_xcodeproj//xcodeproj:extra_common_flags="--//:renderer=metal" + bazel run //platform/ios:xcodeproj --@rules_xcodeproj//xcodeproj:extra_common_flags="--//:renderer=metal --//platform/ios:use_provisioning_profile=False" build_dir="$(mktemp -d)" xcodebuild build-for-testing -scheme RenderTest -project MapLibre.xcodeproj -derivedDataPath "$build_dir" CODE_SIGNING_ALLOWED=NO render_test_app_dir="$(dirname "$(find "$build_dir" -name RenderTestApp.app)")" @@ -134,7 +134,7 @@ jobs: - name: Build CppUnitTests .ipa and .xctest for AWS Device Farm run: | set -e - bazel run --//:renderer=metal //platform/ios:xcodeproj + bazel run //platform/ios:xcodeproj --@rules_xcodeproj//xcodeproj:extra_common_flags="--//:renderer=metal --//platform/ios:use_provisioning_profile=False" build_dir="$(mktemp -d)" xcodebuild build-for-testing -scheme CppUnitTests -project MapLibre.xcodeproj -derivedDataPath "$build_dir" CODE_SIGNING_ALLOWED=NO ios_cpp_test_app_dir="$(dirname "$(find "$build_dir" -name CppUnitTestsApp.app)")" From 4cfcaa0740cea1ecd94899e327655cd43f4aa3ee Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Fri, 4 Oct 2024 12:44:23 +0200 Subject: [PATCH 10/27] Use self-signed provisioning profile --- .github/workflows/ios-ci.yml | 13 ++- MODULE.bazel | 4 +- platform/ios/codesign/BUILD.bazel | 5 ++ platform/ios/codesign/MapLibre.cer | Bin 0 -> 940 bytes .../ios/codesign/MapLibre.mobileprovision | Bin 0 -> 4464 bytes platform/ios/codesign/MapLibre.plist | 78 ++++++++++++++++++ platform/ios/codesign/README.md | 8 ++ 7 files changed, 105 insertions(+), 3 deletions(-) create mode 100644 platform/ios/codesign/BUILD.bazel create mode 100644 platform/ios/codesign/MapLibre.cer create mode 100644 platform/ios/codesign/MapLibre.mobileprovision create mode 100644 platform/ios/codesign/MapLibre.plist create mode 100644 platform/ios/codesign/README.md diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 7750abf7d27..7b245afc397 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -83,6 +83,9 @@ jobs: ${{ runner.os }}-bazel- path: ~/.cache/bazel + - name: Import self-signed certificate + run: security import codesign/MapLibre.cer + - name: Build Example (Swift) App run: bazel build //platform/ios/app-swift:MapLibreApp --//:renderer=metal --//platform/ios:use_provisioning_profile=False @@ -102,12 +105,18 @@ jobs: - name: Running iOS UI tests (Address+UB Sanitizer) run: bazel test //platform/ios/iosapp-UITests:uitest --test_output=errors --//:renderer=metal --features=include_clang_rt --copt=-fsanitize=undefined --linkopt=-fsanitize=undefined --copt=-fsanitize-recover=null --linkopt=-fsanitize-recover=null --//platform/ios:use_provisioning_profile=False + - name: Create Bazel config + working-directory: platform/darwin + run: | + grep -v APPLE_MOBILE_PROVISIONING_PROFILE_NAME bazel/example_config.bzl > bazel/config.bzl + echo 'APPLE_MOBILE_PROVISIONING_PROFILE_NAME = "Fake iOS Provisioning Profile"' >> bazel/config.bzl + # render test - name: Build RenderTest .ipa and .xctest for AWS Device Farm run: | set -e - bazel run //platform/ios:xcodeproj --@rules_xcodeproj//xcodeproj:extra_common_flags="--//:renderer=metal --//platform/ios:use_provisioning_profile=False" + bazel run //platform/ios:xcodeproj --@rules_xcodeproj//xcodeproj:extra_common_flags="--//:renderer=metal build_dir="$(mktemp -d)" xcodebuild build-for-testing -scheme RenderTest -project MapLibre.xcodeproj -derivedDataPath "$build_dir" CODE_SIGNING_ALLOWED=NO render_test_app_dir="$(dirname "$(find "$build_dir" -name RenderTestApp.app)")" @@ -134,7 +143,7 @@ jobs: - name: Build CppUnitTests .ipa and .xctest for AWS Device Farm run: | set -e - bazel run //platform/ios:xcodeproj --@rules_xcodeproj//xcodeproj:extra_common_flags="--//:renderer=metal --//platform/ios:use_provisioning_profile=False" + bazel run //platform/ios:xcodeproj --@rules_xcodeproj//xcodeproj:extra_common_flags="--//:renderer=metal build_dir="$(mktemp -d)" xcodebuild build-for-testing -scheme CppUnitTests -project MapLibre.xcodeproj -derivedDataPath "$build_dir" CODE_SIGNING_ALLOWED=NO ios_cpp_test_app_dir="$(dirname "$(find "$build_dir" -name CppUnitTestsApp.app)")" diff --git a/MODULE.bazel b/MODULE.bazel index caaef400729..89101b56e23 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -28,7 +28,9 @@ pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm") use_repo(pnpm, "pnpm") provisioning_profile_repository = use_extension("@build_bazel_rules_apple//apple:apple.bzl", "provisioning_profile_repository_extension") -provisioning_profile_repository.setup() +provisioning_profile_repository.setup( + fallback_profiles = "//platform/ios/codesign:profiles" +) http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") diff --git a/platform/ios/codesign/BUILD.bazel b/platform/ios/codesign/BUILD.bazel new file mode 100644 index 00000000000..e9bf85374cb --- /dev/null +++ b/platform/ios/codesign/BUILD.bazel @@ -0,0 +1,5 @@ +filegroup( + name = "profiles", + srcs = ["MapLibre.mobileprovision"], + visibility = ["//visibility:public"], +) \ No newline at end of file diff --git a/platform/ios/codesign/MapLibre.cer b/platform/ios/codesign/MapLibre.cer new file mode 100644 index 0000000000000000000000000000000000000000..57787d6fe43dda88805683943430cec343ed9344 GIT binary patch literal 940 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 i<>@zp#gOju!0Zh>-&}v5mHrD5tHl%m literal 0 HcmV?d00001 diff --git a/platform/ios/codesign/MapLibre.plist b/platform/ios/codesign/MapLibre.plist new file mode 100644 index 00000000000..cf447007d3c --- /dev/null +++ b/platform/ios/codesign/MapLibre.plist @@ -0,0 +1,78 @@ + + + + + AppIDName + selfsigned: any app + ApplicationIdentifierPrefix + + QMC7N4BDVZ + + CreationDate + 2024-10-03T15:19:16Z + Platform + + iOS + + IsXcodeManaged + + DeveloperCertificates + + MIIDqDCCApCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBqMSkwJwYDVQQDDCBpT1Mg +VGVhbSBQcm92aXNpb25pbmcgUHJvZmlsZTogKjERMA8GA1UECwwITWFwTGlicmUx +CzAJBgNVBAYTAk5MMR0wGwYJKoZIhvcNAQkBFg5iYXJ0QGVtZWVsLm5ldDAeFw0y +NDEwMDQwOTU0MTRaFw0zNDEwMDQwOTU0MTRaMGoxKTAnBgNVBAMMIGlPUyBUZWFt +IFByb3Zpc2lvbmluZyBQcm9maWxlOiAqMREwDwYDVQQLDAhNYXBMaWJyZTELMAkG +A1UEBhMCTkwxHTAbBgkqhkiG9w0BCQEWDmJhcnRAZW1lZWwubmV0MIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyArETEt8Iuk3EuxHySafg2H+HMnv6Xdf ++t3StN/vJ6fRdQ+4GFcnJC/q637GSlKPPExYMiRIeIKUytXgWvX2mhKJqYmA3nyH +MSxHYFdvAX+FcbQ7tlLNL0NY/QBprZZei8E2CUGcNe9tCdQUPWUJQBg+dd4mNK8V +jiK7frWUcduuhIOf1Y2To3HSGH33hzCRAVsIE08AkKSOJT6vCQ03DPYzJVEmOvE5 +Km4PIz+5pybwrw1TT31dVupN5Du952avbT59cYrXTR3d31yP2I36QM58ERA2whzt +/OGnVIEt2uKdpXJwCHevZjYly2azTJIOSrCv1fIhik0cbt1tc2K8GQIDAQABo1kw +VzAOBgNVHQ8BAf8EBAMCB4AwJgYDVR0lAQH/BBwwGgYIKwYBBQUHAwQGCCsGAQUF +BwMDBgRVHSUAMB0GA1UdDgQWBBT7mCCAhGL54obe7lDanho11OoWyjANBgkqhkiG +9w0BAQsFAAOCAQEAiHScAt6sQg214IW6whXKUTMjiJfsB3SyaSuW3Zcnw0EbmXtQ +hrLZWrG+0SmxmNtXCZyUhcB/8rhzHQ1VcxXckNOeKGu8OMDTLkPbnzPsnIwsIZvp +qAbFbKFhyrcbm9cuDaG9+x3v0K3XiJerhmJiR4OLBffNUs+Bku0fvUsaAxChW1nf +TWm2W+AXbIGvkhS0j9b8631wTJKS9ak33WS1ugxZ8XL2udftwt2bzyVomY/fU08H +27jdSnu98zs+32nukqRbtddrArZrPeNx4ed2Ad9CJDCourNDNQVZacEPZjVz1u7z +xKgeSHYwMrNQN9OVSWp3fxEkQMc5nESuh8grhg== + + + Entitlements + + keychain-access-groups + + MapLibre.* + + get-task-allow + + application-identifier + QMC7N4BDVZ.* + com.apple.developer.team-identifier + MapLibre + + ExpirationDate + 2034-10-04T09:54:14Z + Name + Fake iOS Provisioning Profile + ProvisionedDevices + + + LocalProvision + + TeamIdentifier + + QMC7N4BDVZ + + TeamName + MapLibre + TimeToLive + 3652 + UUID + CEC20DD6-95A4-40E4-B0D6-48108994172A + Version + 1 + + \ No newline at end of file diff --git a/platform/ios/codesign/README.md b/platform/ios/codesign/README.md new file mode 100644 index 00000000000..36f28fd8933 --- /dev/null +++ b/platform/ios/codesign/README.md @@ -0,0 +1,8 @@ +# Self-Signed Provisioning Profile + +This directory contains a self-signed provisioning profile. + +``` +security import MapLibre.cer +security cms -S -N 'iOS Team Provisioning Profile: *' -i MapLibre.plist -o MapLibre.mobileprovision +``` \ No newline at end of file From b3b6b5b7614a946db04e95d8cfa56b257f5011ac Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Fri, 4 Oct 2024 12:45:52 +0200 Subject: [PATCH 11/27] Remove CODE_SIGNING_ALLOWED=NO --- .github/workflows/ios-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 7b245afc397..a16a9b1a78d 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -118,7 +118,7 @@ jobs: set -e bazel run //platform/ios:xcodeproj --@rules_xcodeproj//xcodeproj:extra_common_flags="--//:renderer=metal build_dir="$(mktemp -d)" - xcodebuild build-for-testing -scheme RenderTest -project MapLibre.xcodeproj -derivedDataPath "$build_dir" CODE_SIGNING_ALLOWED=NO + xcodebuild build-for-testing -scheme RenderTest -project MapLibre.xcodeproj -derivedDataPath "$build_dir" render_test_app_dir="$(dirname "$(find "$build_dir" -name RenderTestApp.app)")" cd "$render_test_app_dir" mkdir Payload @@ -145,7 +145,7 @@ jobs: set -e bazel run //platform/ios:xcodeproj --@rules_xcodeproj//xcodeproj:extra_common_flags="--//:renderer=metal build_dir="$(mktemp -d)" - xcodebuild build-for-testing -scheme CppUnitTests -project MapLibre.xcodeproj -derivedDataPath "$build_dir" CODE_SIGNING_ALLOWED=NO + xcodebuild build-for-testing -scheme CppUnitTests -project MapLibre.xcodeproj -derivedDataPath "$build_dir" ios_cpp_test_app_dir="$(dirname "$(find "$build_dir" -name CppUnitTestsApp.app)")" cd "$ios_cpp_test_app_dir" mkdir Payload From 06ebb3db6fb361597216f6a6ca47a32244af13cb Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Fri, 4 Oct 2024 13:07:40 +0200 Subject: [PATCH 12/27] Fix typo --- .github/workflows/ios-ci.yml | 4 ++-- MODULE.bazel | 2 +- platform/ios/BUILD.bazel | 8 ++++---- platform/ios/codesign/BUILD.bazel | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index a16a9b1a78d..d572e7e44b2 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -116,7 +116,7 @@ jobs: - name: Build RenderTest .ipa and .xctest for AWS Device Farm run: | set -e - bazel run //platform/ios:xcodeproj --@rules_xcodeproj//xcodeproj:extra_common_flags="--//:renderer=metal + bazel run //platform/ios:xcodeproj --@rules_xcodeproj//xcodeproj:extra_common_flags="--//:renderer=metal" build_dir="$(mktemp -d)" xcodebuild build-for-testing -scheme RenderTest -project MapLibre.xcodeproj -derivedDataPath "$build_dir" render_test_app_dir="$(dirname "$(find "$build_dir" -name RenderTestApp.app)")" @@ -143,7 +143,7 @@ jobs: - name: Build CppUnitTests .ipa and .xctest for AWS Device Farm run: | set -e - bazel run //platform/ios:xcodeproj --@rules_xcodeproj//xcodeproj:extra_common_flags="--//:renderer=metal + bazel run //platform/ios:xcodeproj --@rules_xcodeproj//xcodeproj:extra_common_flags="--//:renderer=metal" build_dir="$(mktemp -d)" xcodebuild build-for-testing -scheme CppUnitTests -project MapLibre.xcodeproj -derivedDataPath "$build_dir" ios_cpp_test_app_dir="$(dirname "$(find "$build_dir" -name CppUnitTestsApp.app)")" diff --git a/MODULE.bazel b/MODULE.bazel index 89101b56e23..c7ac7b339f3 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -29,7 +29,7 @@ use_repo(pnpm, "pnpm") provisioning_profile_repository = use_extension("@build_bazel_rules_apple//apple:apple.bzl", "provisioning_profile_repository_extension") provisioning_profile_repository.setup( - fallback_profiles = "//platform/ios/codesign:profiles" + fallback_profiles = "//platform/ios/codesign:profiles", ) http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") diff --git a/platform/ios/BUILD.bazel b/platform/ios/BUILD.bazel index 453783c241a..a508d31d613 100644 --- a/platform/ios/BUILD.bazel +++ b/platform/ios/BUILD.bazel @@ -1,4 +1,5 @@ load("@aspect_rules_js//js:defs.bzl", "js_library") +load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") load("@build_bazel_rules_apple//apple:apple.bzl", "apple_static_xcframework", "apple_xcframework") load("@build_bazel_rules_apple//apple:ios.bzl", "ios_application", "ios_framework") load("@build_bazel_rules_apple//apple:resources.bzl", "apple_resource_bundle") @@ -22,7 +23,6 @@ load( ) load("//platform/ios/bazel:macros.bzl", "info_plist") load("//platform/ios/bazel:provisioning.bzl", "configure_device_profiles") -load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") configure_device_profiles() @@ -384,13 +384,13 @@ bool_flag( config_setting( name = "without_provisioning_profile", flag_values = { - "//platform/ios:use_provisioning_profile": "False" + "//platform/ios:use_provisioning_profile": "False", }, ) config_setting( name = "with_provisioning_profile", flag_values = { - "//platform/ios:use_provisioning_profile": "True" + "//platform/ios:use_provisioning_profile": "True", }, -) \ No newline at end of file +) diff --git a/platform/ios/codesign/BUILD.bazel b/platform/ios/codesign/BUILD.bazel index e9bf85374cb..318ca04ef39 100644 --- a/platform/ios/codesign/BUILD.bazel +++ b/platform/ios/codesign/BUILD.bazel @@ -2,4 +2,4 @@ filegroup( name = "profiles", srcs = ["MapLibre.mobileprovision"], visibility = ["//visibility:public"], -) \ No newline at end of file +) From f9a1f86fa92c87fe257d64ff3feb49016a8a7835 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Fri, 4 Oct 2024 16:09:11 +0200 Subject: [PATCH 13/27] Try to fix errros provisioning profile --- .../ios/codesign/MapLibre.mobileprovision | Bin 4464 -> 4473 bytes platform/ios/codesign/MapLibre.plist | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/ios/codesign/MapLibre.mobileprovision b/platform/ios/codesign/MapLibre.mobileprovision index 4bd335f9a9a87a7ebfe5c8b2aa7d5dee23cf2427..94d1a10b68d0b86af36a6dc9ded3a46eb97ff549 100644 GIT binary patch delta 320 zcmV-G0l)t6BKabaH36rwHk=2O3JMXE+y}#x%Ly2>wFrv_6nheOdFy(fgr)~{GdD%B z)~ToXS+i6R76E@pg`=S(%`KQ2M~O=a%Kt{!pjT?@r83mQI=u8FpkvkWSXvy8XCe+} zBRz!QR}9?DOjW|=`nw(#3@BiQsI}?*g(c3*@kbrs=&d7N{;pv3n@>S&%9?|$px5Ug z>Y}90yxc-&ILrS_fKHS8+5)&bfN@8 zvPy`;9Y^x2b{KNDasZV+pN{9(>H~M?UA)a1Uc9IKWYf~IFktum01?^Pc2Xxgz0+J5 z6IL9V!3_SfPIyDe%`F@6r7@$Y5+}KCZsS*XrAI1gePDNk#D;vfoQto^?YyQ7fZhJs SS+nJxfcMGY@%Prv;3Noe{hd3(`X<)7%x3i5Z__EK$+p%_f0%K=c@c464 zGH0!`gs%+}i=)SrFpGb_+>8H-4^!u=iz2TB9t2`L#bUNrM1O|_q9z~vq7O!Zy$A!0 zto+msCo6j%oPz2=2J2GdGEKj^)kkjcfR7wIzade9e}A0HywGb^3|ke%avQOg2}t|@ zGlf$!K*?-wWsRSWixBGhR%QL#S{{%e-vi;J zZuI7+)rgKb(W5SX;#`?=)(30wOVP%v3jkKId!HSPOPA}+j keychain-access-groups - MapLibre.* + MapLibre get-task-allow application-identifier QMC7N4BDVZ.* com.apple.developer.team-identifier - MapLibre + QMC7N4BDVZ ExpirationDate 2034-10-04T09:54:14Z From 780098c8240cc29d9d0440448e118ed275099788 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Fri, 4 Oct 2024 16:58:32 +0200 Subject: [PATCH 14/27] Add private key --- .github/workflows/ios-ci.yml | 10 +++- platform/ios/codesign/MapLibre.cer | Bin 940 -> 830 bytes .../ios/codesign/MapLibre.mobileprovision | Bin 4473 -> 4114 bytes platform/ios/codesign/MapLibre.p12 | Bin 0 -> 1466 bytes platform/ios/codesign/MapLibre.plist | 53 +++++++++--------- 5 files changed, 32 insertions(+), 31 deletions(-) create mode 100644 platform/ios/codesign/MapLibre.p12 diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index d572e7e44b2..812c36f0bbd 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -84,7 +84,10 @@ jobs: path: ~/.cache/bazel - name: Import self-signed certificate - run: security import codesign/MapLibre.cer + run: | + security authorizationdb write com.apple.trust-settings.admin allow + security import codesign/MapLibre.cer + security import codesign/MapLibre.p12 -P '' -A - name: Build Example (Swift) App run: bazel build //platform/ios/app-swift:MapLibreApp --//:renderer=metal --//platform/ios:use_provisioning_profile=False @@ -108,8 +111,9 @@ jobs: - name: Create Bazel config working-directory: platform/darwin run: | - grep -v APPLE_MOBILE_PROVISIONING_PROFILE_NAME bazel/example_config.bzl > bazel/config.bzl - echo 'APPLE_MOBILE_PROVISIONING_PROFILE_NAME = "Fake iOS Provisioning Profile"' >> bazel/config.bzl + grep -v -e APPLE_MOBILE_PROVISIONING_PROFILE_NAME -e APPLE_MOBILE_PROVISIONING_PROFILE_TEAM_ID bazel/example_config.bzl > bazel/config.bzl + echo 'APPLE_MOBILE_PROVISIONING_PROFILE_NAME = "MapLibre"' >> bazel/config.bzl + echo 'APPLE_MOBILE_PROVISIONING_PROFILE_TEAM_ID = "MapLibre"' >> bazel/config.bzl # render test diff --git a/platform/ios/codesign/MapLibre.cer b/platform/ios/codesign/MapLibre.cer index 57787d6fe43dda88805683943430cec343ed9344..25a704e1932165d50c7dd86bcf7cd05c3f8549ea 100644 GIT binary patch delta 683 zcmZ3(zK_kspo!VapovLo0W%XL6B8q&0WTY;R+~rLcV0$DZdL{ZV?#j$em3S%7G@p} z-^2o+%%q~!i9QOZ26E!OMka;^1}26k#zscwQR2MD$Xr|+CyO&G*1yW=TH18~Lu8iM zsr!;QRMwfjTV`_DlP`3clK(G{%SThV_e{&@f3osR{7w&+c_*?b#`Ld!SpR?F;hM0x zZ$~7q=x)1KJb}G{q0Hj{syPz88vi!u9I1KGVa>Vn;;g>v?z{{0S}zN2*Vr%rlKHD} z^h!M)$3H$^@g?)QG|r}eZ%Xj2_wwGgW$}hbtO4J)P0P5~_;bpJoWza%i9SyxL~^p! zW0xNG_xj+b7r(IDT+!px|Fo4xor}Ya6b}|0eR}Kr&uRIempgojYW2vhwO_{n^!Dqm z>{1>77`P3`zv1Lp0RbFXs@0t7Ft7fHNR-OY|_%k;#GBP;opAugr*rAcqt87_wws`wZ zwy(Bz%zDdrPGkAN_2-JASMxcewY^ih<$di1XLcl?;@!QE>EJ`_eSbUtcq!jZmOXxK z(u7&T=^y^j)Yo3A@Lw@Yso}Xp-?I9gm}}N4GvY5U`~IWAN=m75;RGhhB?q#27FJr` zYprK+I#Vs}C^UN&@4p8tq&z=HG)ZZ{i+rPE=_kYrGNRV!ev`{`2hgY(IA!p delta 812 zcmdnTwuarupow{fK@-!21Qh=#5uh3 z1e`E&rDFXFt|LC)HA*kdh2FTIRGZ(N_)q5K`OqZJknBe|ud^^Zcv5lNT3WlBoUO zZZMHCnnT#1VZxF=RlD_^yyiULj8y~GtUg+5X4(DnF1ov2w@sH|!;wGPS4Oovwb^QF>-|K-;F9Q5*MN)Z94Zb~xvp zDXjE7*?K=PXP-wOxAlbv@pN zdwn@(ik44{hUVnS&?(Flb88iFu2m7<%-f`EfdhcgzyZf2%CM}8H zdOe$ITej`v!iUex81Fl&7_8W(wb|K}H8S%cf0}9WwRfM7tdR34Gcej5V19Y3XI6Q= Rpo+tB%Q-IV+D~Y=0RU>GQP=b zh=DOA1cEpU=_EK@HAjJ#GocUzfdGXB%s9}bV89IJC^1(E6mVrmX_(BAo!Qyh{r3Cq zxBLC~dsMw-%wi$SxLx#HR=T`sSo$WrG@W9NV+#yiLA`)i52m-Wwhz+y5Crln(^T&0 zB$Oa@7=tnvw2>rH6!NGoW|$}%^Ss$iidL%u(-DwF262rT!Z5hOBxMY;fY%W;#*qZ1 zfGKq&3|S12Uq}$Jz>FGjkT5`u8pXgYhDhM8YHlcFBK~j6t|b{F@iQO#1s^j&+5vu+ z14B^)!MGj=7N;#uiU2`I8H9WuxeQ|z8UvcSmmX(O(xOm?thguUP(vgJ!z6@K6sFB$ zpn+{<2+1tLNk~J7ykQf<2VkqsA5rq-O&MnaPaL*@4CvQ1+ALlJK;xjK(T|8*O?C$G zXE|ZF&fQ|9u%@Ud;%{u#MqE+=5Xn)u)at5>k`^w)<8hlbB+Q2(r_Tq3>C7wZeViyS zfw?sZK7dJPx`qkTpf#*<37T6#g-8ms4)QiJlNQ`=adYwj;*GyYO{E%E2P{C1)9n)Hj3BL^1MQvWElXj@J`WP%z1vnm8 z!r{?tRe&`a_P2U%Y7^m=!lFb8-sw=fU{5;TZ1rcfhpGlKw40RbMTg$u{SIKY*} zNDC1ah@Fi=8!q*8jF_`UsSkq!X%<7aO0<|k?MBsxW{eL36obmbd{=}(XqizWH3tn6 z1Y(jH1liP9Lh4{pDw9basD(&507E32~MfRyby?b5leMEe@JsEu;k0WLzK8YKSmT z9U!A_gF&JTT0Fj1iYLxuVw4IN7+N?n&B^eB;n?8=eL0QWyIyKE?5i73aqNMRa?;;1K?baecMs zvApXGXYsz}q0-)t`!n{+^FR91|G~6HTP`L0+YilZoc_b%5oc?6bw?KuqH|)B{*8Yc zQ8ND7-vWnc^|Vc5cbs1J{>*oqzW!)#*Q>k79~gZ-??L(0j)@bXCo08^=8ucUpL9J; zy@e+g%1?K!*><@=`@^o~o(r=dE!`HdZ7;Q{dPlq#@cr)1b%!*HKIz06?K8zy^1J=+ z4&MAVjl8N(`iraoeE4X2=-!4Yeb%{h@7oRQORs)=bLXJSw*DCaG-tw<-Nu!l6r``_ z$1X3~q%J^!(lY*xA!q+nPB+ZSIkJh_1lCCPou=HC4e8M(s$})P$%S@eY=^i34}Pzh z)uHw^O#w>^*){Xz^B$J4Sj7c7c_|hv2Lg@{|D>#KymR5$x>+ZqyU!OsnEX!O#0`6w z=l2yoIm=bdImO$ua9QzaqM>YMo8x%NXZv$IFHPG2wC#yv?0Ls;jviUEc$J>&>t6|Q zI>z)@`KteLZOZ%WlYwd7lbnB?aeDp3AL;ta>e=m!b1T+N*+*xg}w)UT@Kk&@)_Jhjq{EJ7AoT*C{FDdI#?O6V$rTF~j z1z&6PR)0R_@u!#l?@p0z{cy>{lxWwKp0(_C#Y1{uPcASINyxaOr_)u7Yl)@o;%@ zuz>SQUT$SU&g$7+=~1Pe`ijBFu!Hx%S)%29Oy6C~>|c6Kt_Ed=Y)&C7pOq31&F9wt z3Y0Sd#S4qGNnsDoE#}s*et8hdf&DKev7jI)KgG(a-`K_;{?*RkufPgsmFV_fKRxWt zcUsRMS`q8JHP4iU=@t9R8%}O8-f2%2OxRIA^1J@}n-`0&?LV0A<OgHZVq*{z-in6qKH zed(&C=2XGW-ulitZ(OmS+4p0y7g2#xu)M-H0Z|YuHIVho_#sb+y4M2Lu#Y| delta 2827 zcmbW1d2~~C7RQ^G78+VW6hSFaS(S)=OV&Ct{NBsU%l4AI6l(7`$h>Awhqjk}=R*Pdv2Btz%7wHP~4vh8*8pP|iBzZ)Ux)nfOQBGJ*~z-P)%Tf!ZA4z%f`?k`F1D`?F_^(nN73uZ zu_)(@ix9yJ?kp`0r_CIjCS{OACT_H04vo2}drh z4yD7PxpSq>gHf3={EPEH#Hk}p=gZuPWRuPt4Kzorj%Hgrk&k2|iFhO)8WO=sta5zB zy7TLAt-oVBPT&Zn)hg#`6hJ;l4iWM>7&Iv5Y8X;$G;&ylfC?eC);|Wd*KCE_tJhZU zl}@;_4ZZ@JRafI2R@3mk8x!yf|I0Ga+B~~5d1P}8o&-&-tDoJW?>N&ash39HHzINvg5;1!A&2GM_(t@63H@5bDL-RanK$yX^2^ef%%;UtkEzBU zCtsPlak=+g(<`TriPwGI_vTamr)G7%ksJN=1a{W+mVu9N__NWz<~L?HGF@M2zkTn4 z_qZ>V)@1cw^bfUy*XjYnH!{%h78 zyzT4xuPwe{jB-!YiL>u_G0Wz>`@y|i(#a8GcThRw)!+_u=P2V7-3LCs>}IMd-X~=E z>Yhs~*EN{S->hq1x`O}egN`F7ZSUT9sp74Hi}yl}|9LIR$l9u!c8R2FRdz%5k;kyc zo$sxDcF(xIG&*h7UB`!KpNz=v?7M5$AHl@CueWtP`3|@J`8TfEzU~lPzv1?kFO)xh zIy0%!nHhI@?f&~NkM^iv*nbs%Xd`-j!>w0dw*J`Gx<8d;o4tE~KXHBURgIf>e>3US z-?sIxy6e#no+p>zQhR2f{q<#?C#LK+U0O3{^8!yl71_1mz45VS-JKUbwdU=!A1_Io zJ3GI4Sk>p>`D}ydbo$F@dQa@>TmSlu@ZD?r9oFH8p6)YVzx%VR=k-TUc0RaZXK%E6 zS9I=&srQfOCH>fRXzR279k`;_6M1oTP?352 zbl-}HhG$U~@xSO>U$k=T&SPg+&Uo$B)8wT7f0nmRyY}4Ui#}g( z1<}3tEPrfM@6jm(_dmF==P(xhXd!rHW6KBd>2K||ornMMT(7o4eK9Zl1-j%MpW8TKqM|%fq#D84dv+t6HJzd}U_rJLv zT6E@Y)dlYy%-d(R?%sdR_zPW4cfUBd;oNph0e^YloQbElzz=kdo%KvS{vj)FA!mn| mEE1Q$)UkNihFiK{J<;>f$fbSf4tjQc^yrS^bqlJ#kM96$0slP! diff --git a/platform/ios/codesign/MapLibre.p12 b/platform/ios/codesign/MapLibre.p12 new file mode 100644 index 0000000000000000000000000000000000000000..17454b80bdc9d0fd23ce1e2528aebc4a07f43d98 GIT binary patch literal 1466 zcmV;r1x5NWf(5n$0Ru3C1$_nyDuzgg_YDCD0ic2fZUlk_YA}KYW-x*UVg?B+hDe6@ z4FLxMpn?Tc1cC)mFoFe3FoFd~1`8^NNQUM$Gz3Mz(3hW8Bt z3;_c$4g?6mH{`#K0WXXK0tf&Ef&|F^Yu4CTG>{HMB_;$-Jh!m7-fCO}ausJX4xq)0 z*=m?EowxWdb|g%Qh8d|eJM0oZcK>sKTC;;g%$rWUrt<3t8!;C4f$2JMc@BylJ2D0X zMm?~0U4dJCF6%IS_|TK_-@kZLMQsMs}YGK=f>Tu$#MtNY zKU0*<^)Iaq##pWid2!d&+2Z}%<7b>NSfA!_jF3B6n}t5{Rh2y^KOoZRo`c zd~(^$t~Y-<-)f$?oc<$KA-BGn{J3l_qCJozON^#Qyp_S{ z5x@+kor>!9F}m`5QxYI_LU7J1!;FgYlW%IQKlP1?)Eg-PEu>%Vb5cz}mV%coFsPru zR^5k$3rvmid zwrX)`%?loHn9y+$#p2wM+Wm_j)H2>BHutzu0V#@dOUnl)e#4}*ubC&H6lOximFL(} z=*xC-@gjLK0W;?P8z?PuOOx$OoZg4a88}JM5lAY~2mlZBOvg~i`k9-+4xHwekbeYA zns)9{41MJD`Oe`wpg1!DqUJdz1&@Z?!1iIY zbvGpe_rJXcySNF2kRBm-64Unj*XssL0qiKH(b5*$%t(6Q+pgB&`qtsJT91%lnP_sG zPjFqA6f$aovL)CklfPD-J#6nKdi!)lU3~d5!+`eIFp#7@QBlM4fFAt%t|&Ycxm1D1 z`6h)$dp_9u4TG$VLZ?4^M?6Oz4>EjVntie~0NAyDjmdUO)#VCOr@`==XXEt;gI8}c z2!<`CE6>$lBVVk76NiY(!xr*PNW8pEwQRGTjM`K$i$nIxaIRI<3$eG?Uj~w zLwf-v9mqP~l@m%cRnu))UfYCPeBaBcy0+&0BO#`2tb+evHk>mh$nQ3Cz0lMl0Q=Ho ztEs~QESrAyMlwCzJ zMlc@+2`Yw2hW8Bt2^29B9uNRc0AT=d089XB0Ac`g0A(;E1_>&LNQUselfsigned: any app ApplicationIdentifierPrefix - QMC7N4BDVZ + MapLibre CreationDate - 2024-10-03T15:19:16Z + 2024-10-04T14:42:06Z Platform iOS @@ -18,27 +18,24 @@ DeveloperCertificates - MIIDqDCCApCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBqMSkwJwYDVQQDDCBpT1Mg -VGVhbSBQcm92aXNpb25pbmcgUHJvZmlsZTogKjERMA8GA1UECwwITWFwTGlicmUx -CzAJBgNVBAYTAk5MMR0wGwYJKoZIhvcNAQkBFg5iYXJ0QGVtZWVsLm5ldDAeFw0y -NDEwMDQwOTU0MTRaFw0zNDEwMDQwOTU0MTRaMGoxKTAnBgNVBAMMIGlPUyBUZWFt -IFByb3Zpc2lvbmluZyBQcm9maWxlOiAqMREwDwYDVQQLDAhNYXBMaWJyZTELMAkG -A1UEBhMCTkwxHTAbBgkqhkiG9w0BCQEWDmJhcnRAZW1lZWwubmV0MIIBIjANBgkq -hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyArETEt8Iuk3EuxHySafg2H+HMnv6Xdf -+t3StN/vJ6fRdQ+4GFcnJC/q637GSlKPPExYMiRIeIKUytXgWvX2mhKJqYmA3nyH -MSxHYFdvAX+FcbQ7tlLNL0NY/QBprZZei8E2CUGcNe9tCdQUPWUJQBg+dd4mNK8V -jiK7frWUcduuhIOf1Y2To3HSGH33hzCRAVsIE08AkKSOJT6vCQ03DPYzJVEmOvE5 -Km4PIz+5pybwrw1TT31dVupN5Du952avbT59cYrXTR3d31yP2I36QM58ERA2whzt -/OGnVIEt2uKdpXJwCHevZjYly2azTJIOSrCv1fIhik0cbt1tc2K8GQIDAQABo1kw -VzAOBgNVHQ8BAf8EBAMCB4AwJgYDVR0lAQH/BBwwGgYIKwYBBQUHAwQGCCsGAQUF -BwMDBgRVHSUAMB0GA1UdDgQWBBT7mCCAhGL54obe7lDanho11OoWyjANBgkqhkiG -9w0BAQsFAAOCAQEAiHScAt6sQg214IW6whXKUTMjiJfsB3SyaSuW3Zcnw0EbmXtQ -hrLZWrG+0SmxmNtXCZyUhcB/8rhzHQ1VcxXckNOeKGu8OMDTLkPbnzPsnIwsIZvp -qAbFbKFhyrcbm9cuDaG9+x3v0K3XiJerhmJiR4OLBffNUs+Bku0fvUsaAxChW1nf -TWm2W+AXbIGvkhS0j9b8631wTJKS9ak33WS1ugxZ8XL2udftwt2bzyVomY/fU08H -27jdSnu98zs+32nukqRbtddrArZrPeNx4ed2Ad9CJDCourNDNQVZacEPZjVz1u7z -xKgeSHYwMrNQN9OVSWp3fxEkQMc5nESuh8grhg== - + MIIDOjCCAiKgAwIBAgIBATANBgkqhkiG9w0BAQsFADAzMREwDwYDVQQDDAhNYXBM + aWJyZTERMA8GA1UECwwITWFwTGlicmUxCzAJBgNVBAYTAk5MMB4XDTI0MTAwNDE0 + MzIyN1oXDTM0MTAwNDE0MzIyN1owMzERMA8GA1UEAwwITWFwTGlicmUxETAPBgNV + BAsMCE1hcExpYnJlMQswCQYDVQQGEwJOTDCCASIwDQYJKoZIhvcNAQEBBQADggEP + ADCCAQoCggEBAOpoiqWC3/BZakrK3xnYJK427qY0w0kOVaYiT/pI08VkC7yWbw/k + qfRfuUgEnshrkVyPreF//6HDfFZe9sQY1C221nOQB3AAdjj/qpwYDSj+s2zEfOCI + Owmp0ZqOe4tu0J6F0xK3KL8f6QP1E1upLixB/ExKX3SfCijNZfeCYElKS7q0o7Di + BVD2tpZo3oH5lLBsYbEPYUzkGBRsaiddpcNPSvBGLl+hezchSPL/ZqkyiaNWMiHB + cMXl2vf5lm/zp0DwWoVIaX0/pg/l2+u1BxqI/18vQYMs47dVmaIFk+UEduKSq04F + Qy8PETNfDNTtE3A/gwDGq3erMCpGU8FXmT8CAwEAAaNZMFcwDgYDVR0PAQH/BAQD + AgeAMCYGA1UdJQEB/wQcMBoGCCsGAQUFBwMEBggrBgEFBQcDAwYEVR0lADAdBgNV + HQ4EFgQUIrw9BmJNI6k3P0lt70p8qU5qbkAwDQYJKoZIhvcNAQELBQADggEBAEEv + yheiEYgoZI0jOXzNc7fZBvU9fgMup7mWBPAK/NQxSoPOMq2NlQsfTT8RmYhjyg27 + vgLB4Tu+/Yj8SiPZYx3HxpKQmlNn8P+ZLyupIP8haiKA50COpmxc1jtkmF/Rpvf4 + cDoaIoGhkAIZpMBqDKF5Od6FfwBCzHsbQRKbqg3+4KgaSfFYghor7lkatSJiIlr/ + zjq//mN99RrWBN/HxtI5gguSEalMtJbIWQvZrIrQUAOgwED6uuJri0BHr5uS94I2 + tkDgpAmlCwzkJX+KWAx6RzE2/V6QLU2UCQvUFWKMRLEieK1bKtbLO8GNoHFsZSS0 + sESC3dJn9PUkCj1x0+A= Entitlements @@ -49,14 +46,14 @@ xKgeSHYwMrNQN9OVSWp3fxEkQMc5nESuh8grhg== get-task-allow application-identifier - QMC7N4BDVZ.* + MapLibre.* com.apple.developer.team-identifier - QMC7N4BDVZ + MapLibre ExpirationDate 2034-10-04T09:54:14Z Name - Fake iOS Provisioning Profile + MapLibre ProvisionedDevices @@ -64,14 +61,14 @@ xKgeSHYwMrNQN9OVSWp3fxEkQMc5nESuh8grhg== TeamIdentifier - QMC7N4BDVZ + MapLibre TeamName MapLibre TimeToLive 3652 UUID - CEC20DD6-95A4-40E4-B0D6-48108994172A + B05AAC58-7963-4EA6-B158-F8E43432EDE7 Version 1 From 8629126f11051c7bf2e11888206895464132d951 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Fri, 4 Oct 2024 17:11:23 +0200 Subject: [PATCH 15/27] Remove authorizationdb write --- .github/workflows/ios-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 812c36f0bbd..9fe8bc4e318 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -85,7 +85,6 @@ jobs: - name: Import self-signed certificate run: | - security authorizationdb write com.apple.trust-settings.admin allow security import codesign/MapLibre.cer security import codesign/MapLibre.p12 -P '' -A From 4c4a9f2d3dfe3907f7b67840f24f533a164ae60d Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Fri, 4 Oct 2024 18:49:36 +0200 Subject: [PATCH 16/27] Add public key --- .github/workflows/ios-ci.yml | 43 +++++++++++++++--------------- platform/ios/codesign/MapLibre.pem | 9 +++++++ 2 files changed, 31 insertions(+), 21 deletions(-) create mode 100644 platform/ios/codesign/MapLibre.pem diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 9fe8bc4e318..66056e36ba8 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -86,36 +86,18 @@ jobs: - name: Import self-signed certificate run: | security import codesign/MapLibre.cer + security import MapLibre.pem security import codesign/MapLibre.p12 -P '' -A - - name: Build Example (Swift) App - run: bazel build //platform/ios/app-swift:MapLibreApp --//:renderer=metal --//platform/ios:use_provisioning_profile=False - - - name: Check debug symbols - run: bazel run //platform:check-public-symbols --//:renderer=metal - - - name: Lint plist files - run: bazel run //platform/ios:lint-plists --//:renderer=metal - - - name: Running iOS tests - run: bazel test //platform/ios/test:ios_test --test_output=errors --//:renderer=metal - - # tsan run fails with 'Interceptors are not working. This may be because ThreadSanitizer is loaded too late...' - #- name: Running iOS UI tests (Thread Sanitizer) - # run: bazel test //platform/ios/iosapp-UITests:uitest --test_output=errors --//:renderer=metal --features=tsan - - - name: Running iOS UI tests (Address+UB Sanitizer) - run: bazel test //platform/ios/iosapp-UITests:uitest --test_output=errors --//:renderer=metal --features=include_clang_rt --copt=-fsanitize=undefined --linkopt=-fsanitize=undefined --copt=-fsanitize-recover=null --linkopt=-fsanitize-recover=null --//platform/ios:use_provisioning_profile=False - - name: Create Bazel config working-directory: platform/darwin run: | grep -v -e APPLE_MOBILE_PROVISIONING_PROFILE_NAME -e APPLE_MOBILE_PROVISIONING_PROFILE_TEAM_ID bazel/example_config.bzl > bazel/config.bzl echo 'APPLE_MOBILE_PROVISIONING_PROFILE_NAME = "MapLibre"' >> bazel/config.bzl echo 'APPLE_MOBILE_PROVISIONING_PROFILE_TEAM_ID = "MapLibre"' >> bazel/config.bzl - + # render test - + - name: Build RenderTest .ipa and .xctest for AWS Device Farm run: | set -e @@ -141,6 +123,25 @@ jobs: ${{ env.render_test_artifacts_dir }}/RenderTest.xctest.zip ${{ env.render_test_artifacts_dir }}/RenderTestApp.ipa + - name: Build Example (Swift) App + run: bazel build //platform/ios/app-swift:MapLibreApp --//:renderer=metal --//platform/ios:use_provisioning_profile=False + + - name: Check debug symbols + run: bazel run //platform:check-public-symbols --//:renderer=metal + + - name: Lint plist files + run: bazel run //platform/ios:lint-plists --//:renderer=metal + + - name: Running iOS tests + run: bazel test //platform/ios/test:ios_test --test_output=errors --//:renderer=metal + + # tsan run fails with 'Interceptors are not working. This may be because ThreadSanitizer is loaded too late...' + #- name: Running iOS UI tests (Thread Sanitizer) + # run: bazel test //platform/ios/iosapp-UITests:uitest --test_output=errors --//:renderer=metal --features=tsan + + - name: Running iOS UI tests (Address+UB Sanitizer) + run: bazel test //platform/ios/iosapp-UITests:uitest --test_output=errors --//:renderer=metal --features=include_clang_rt --copt=-fsanitize=undefined --linkopt=-fsanitize=undefined --copt=-fsanitize-recover=null --linkopt=-fsanitize-recover=null --//platform/ios:use_provisioning_profile=False + # C++ unit tests - name: Build CppUnitTests .ipa and .xctest for AWS Device Farm diff --git a/platform/ios/codesign/MapLibre.pem b/platform/ios/codesign/MapLibre.pem new file mode 100644 index 00000000000..e7be19b478c --- /dev/null +++ b/platform/ios/codesign/MapLibre.pem @@ -0,0 +1,9 @@ +-----BEGIN RSA PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6miKpYLf8FlqSsrfGdgk +rjbupjTDSQ5VpiJP+kjTxWQLvJZvD+Sp9F+5SASeyGuRXI+t4X//ocN8Vl72xBjU +LbbWc5AHcAB2OP+qnBgNKP6zbMR84Ig7CanRmo57i27QnoXTErcovx/pA/UTW6ku +LEH8TEpfdJ8KKM1l94JgSUpLurSjsOIFUPa2lmjegfmUsGxhsQ9hTOQYFGxqJ12l +w09K8EYuX6F7NyFI8v9mqTKJo1YyIcFwxeXa9/mWb/OnQPBahUhpfT+mD+Xb67UH +Goj/Xy9Bgyzjt1WZogWT5QR24pKrTgVDLw8RM18M1O0TcD+DAMard6swKkZTwVeZ +PwIDAQAB +-----END RSA PUBLIC KEY----- From 6fed08c301c73d755d927a120611bd34269bfcb6 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Fri, 4 Oct 2024 21:49:53 +0200 Subject: [PATCH 17/27] Try another way to import certs --- .github/workflows/ios-ci.yml | 5 ++--- platform/ios/codesign/MapLibre.pem | 9 --------- 2 files changed, 2 insertions(+), 12 deletions(-) delete mode 100644 platform/ios/codesign/MapLibre.pem diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 66056e36ba8..7a5636b9cad 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -85,9 +85,8 @@ jobs: - name: Import self-signed certificate run: | - security import codesign/MapLibre.cer - security import MapLibre.pem - security import codesign/MapLibre.p12 -P '' -A + security import codesign/MapLibre.cer -k ~/Library/Keychains/login.keychain -T /usr/bin/codesign -T /usr/bin/security + security import codesign/MapLibre.p12 -k ~/Library/Keychains/login.keychain -A -P '' -T /usr/bin/codesign -T /usr/bin/security - name: Create Bazel config working-directory: platform/darwin diff --git a/platform/ios/codesign/MapLibre.pem b/platform/ios/codesign/MapLibre.pem deleted file mode 100644 index e7be19b478c..00000000000 --- a/platform/ios/codesign/MapLibre.pem +++ /dev/null @@ -1,9 +0,0 @@ ------BEGIN RSA PUBLIC KEY----- -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6miKpYLf8FlqSsrfGdgk -rjbupjTDSQ5VpiJP+kjTxWQLvJZvD+Sp9F+5SASeyGuRXI+t4X//ocN8Vl72xBjU -LbbWc5AHcAB2OP+qnBgNKP6zbMR84Ig7CanRmo57i27QnoXTErcovx/pA/UTW6ku -LEH8TEpfdJ8KKM1l94JgSUpLurSjsOIFUPa2lmjegfmUsGxhsQ9hTOQYFGxqJ12l -w09K8EYuX6F7NyFI8v9mqTKJo1YyIcFwxeXa9/mWb/OnQPBahUhpfT+mD+Xb67UH -Goj/Xy9Bgyzjt1WZogWT5QR24pKrTgVDLw8RM18M1O0TcD+DAMard6swKkZTwVeZ -PwIDAQAB ------END RSA PUBLIC KEY----- From 6a6e82bd509907f355c33774bce705786271b158 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Fri, 4 Oct 2024 22:05:07 +0200 Subject: [PATCH 18/27] Try to fix MapLibre.p12 --- platform/ios/codesign/MapLibre.p12 | Bin 1466 -> 1466 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/platform/ios/codesign/MapLibre.p12 b/platform/ios/codesign/MapLibre.p12 index 17454b80bdc9d0fd23ce1e2528aebc4a07f43d98..5cb463ba823a6a6beb5998f6e528670a658d4818 100644 GIT binary patch delta 1294 zcmV+p1@Zd23%U!CXn$CC0Th4Jf^z}_2ml0v1jv4NqV8haHcwcKCMZ8Q z4gnb2H|8DwUd)ayVD^`h)jDNDSfq+>qVX*meR_B0eLPwo*njNHS9;)~bDMz4VYuXY z^t?In5NI}g#CD@>8FucGL_#+6C@Bzj+W}wOkq>H~qD1W;o_|4>@9GMcckA0Mwsb`Q zGJ(H&jn5ky7IB>T^sBkq)hD)#L+taE-Q-z#!+&uI3XR_6^%RS(ar*AUNHX|9u;YF8 zqrhTCGMzkhr+P)qft>a=(-u~|uE9dP!$u}XA*}#%8o+4Pe03h2u6mGe?j^(>dC50%gCafh~8HDd; zX%d!*QGcuBc?-)h3#f#PH{$#BNHk&cP|VtqtQQMZ}kL#g0#M>hYeoZa(mP!b?L z*T&V7Oh{y=chYEGvoWLuf7?VMU2_N+9^$J~PJi0%eAk2)71OMHXin{lZNo*rPjKv$XkNhsusf zUfv>AUZ=z%-&9qPb6;09)qvahesK;8;d#KuC3_5i2 z_kZcE@n3$!34#`N!;@#MGXY0|X@YUaD3{SqOKbYne^6}c;#L6-KiWj&tsiti5=-Xm za|t6aH=Wh$uO}4=_>mOJ5V-d@HO119Jy0vd7-osc+acKvndScs``hU*4!ApVY1f2a0mT-)8(2WkAu2{86;Nr+uAGtaGq z`7)v1%#*3R6(|U#;#Ca8wPKjubuvgJ%ACOfl8}mNztg$%x^)%BQ&jD?gjw(f7Fuud z3=WJfu1&S=_UQI7*(74=ejKipW@0~w0l(B+{Wqn;%H2aNPGB2IxqrFN zO_<{9-*c?&&~le~itLSKBKaEuDBJjY{=ZO7AmMoh2C0k0Ag_FB&YZKM|`Q{Hf9ARdT`vG_EI9>0m{ATY!Y+;GsSkzb2@qS-%tDkpI zMGO+=P=2JVS3O1?<4xEQY;3JxRhh8!;3=VSU7AaJ6DQDZoJ#&u#DQHRy(RLTBxH9a zk8OI@4`geZUo^-#gbI3-Km}PLh4Ixx$?R-$iOK)kM<6mvM79Y@1PG>GGl`HVT4@3S E0VXblng9R* delta 1294 zcmV+p1@Zd23%U!CXn(*r=Hh9|8sv@vx7s-n@+r@^6Lj1F&6fL={j(E z4vHN+G6n5gPt|9?OTkZLMQsMs}YGK=f> zTu$#MtNYKYvq{%=Is=48~Zl33+kX)Y;USmXE4-TSS{ZW4&7 zzP*e>P;KbN3Vd?e%&s?oIp1oYxSakYRUx;&nf$;cX2I9ginyHNv)F(jKMI7zxCm|P zr=u2^Mtk~VaYchXX8+kUdkl7pt-_Tl#<`9F_th1i;D06HmX3j8(@F>o&GfAt$w%A~ z^?&Bgf|TBS=%x9={rIAfkMJNXzw_`6PSBPQIq13I7+`)whql+!1sko(y!Yt)YIlFO z^zP3){miownbFr{rWQCGex=uiCW*Sqy2xs(HS_N&d?)aL38CC?2r0|}aC@6HndPEA zkRnTrrhi7fmBHr`zzn6Git6<-y7GHd5+HO!aLy{jjEeD-Z)&VR^^J+t8z}%Sq+jiG zQcXaXf|o2XsGq-9-G_t=OpXptNt@yQZ*oci4!yZ88m>z6*OAHxq7CR_g-bAa1Sf-3 z0cfH`oHs{+#c^-8YH?`I3m$Kn&~XsO;@pth{eO!d)H2>BHutzu0V#@dOUnl)e#4}* zubC&H6lOximFL(}=*xC-@gjLK0W;?P8z?PuOOx$OoZg4a88}JM5lAY~2mlZBOvg~i z`k9-+4xHwekbeYAns)9{41MJD`OQC_EFnRDs6%CWS?NKG^yVgRG1~r$2f}JVzZ5GJIj0eX=wF*tLF*$#zQB zIv8pj!<3B*i z#G8}2mh$nQ3Cz0lMl0Q=HotEs~QESrAyMlwC!WKm}PLYF}@~og(jN6}JAU6Gug`{z3#!1PEy^+_H-}sMP`i E0aJ;C$N&HU From 98df77c3bcb52249b39b7718cc1ecbe67c27bc1f Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Fri, 4 Oct 2024 23:08:06 +0200 Subject: [PATCH 19/27] another attempt --- .github/workflows/ios-ci.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 7a5636b9cad..064dece858d 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -85,8 +85,17 @@ jobs: - name: Import self-signed certificate run: | - security import codesign/MapLibre.cer -k ~/Library/Keychains/login.keychain -T /usr/bin/codesign -T /usr/bin/security - security import codesign/MapLibre.p12 -k ~/Library/Keychains/login.keychain -A -P '' -T /usr/bin/codesign -T /usr/bin/security + certificate_path="$PWD"/codesign/MapLibre.p12 + keychain_path=~/Desktop/app-signing.keychain-db + keychain_password="" + p12_password="maplibre" + + security create-keychain -p "$keychain_password" "$keychain_path" + security set-keychain-settings -lut 21600 "$keychain_path" + security unlock-keychain -p "$keychain_password" "$keychain_path" + + security import "$certificate_path" -P "$p12_password" -k "$keychain_path" -T /usr/bin/codesign -T /usr/bin/security + security set-key-partition-list -S apple-tool:,apple: -k "" "$keychain_path" - name: Create Bazel config working-directory: platform/darwin From 11c1f99a0720bd9a9cb82a6078af5dbd514f0188 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Fri, 4 Oct 2024 23:15:22 +0200 Subject: [PATCH 20/27] Update .p12 --- platform/ios/codesign/MapLibre.p12 | Bin 1466 -> 1466 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/platform/ios/codesign/MapLibre.p12 b/platform/ios/codesign/MapLibre.p12 index 5cb463ba823a6a6beb5998f6e528670a658d4818..afde46afe357f73eaa5d2fbe78cf354f955415e7 100644 GIT binary patch delta 1294 zcmV+p1@Zd23%U!CXn$2L+Duc1%g+J=2ml0v1jq>S`0km<*+WiyMmRLeQ1%fY$9)!j$!`epcj(l@`NC@DVTncs5zh#ZN=|8RJf7%dw=EmwZ@OS16?G@xHDFw zM)Xj;a~Q%jv}g&7oo7N@%vCl5;qV4S0^eGX;2Ab|>2;}&{Q*GS4!TK8HtdBYS@jMr zL|D3?>mbpHsHk^l86nob=kU5WoF^~a6M77E(3jpyKqGiO?bNSyT`)o3Y4mVl5DFAF zNRY&+R)sjd&9$ZeW~h?zSBJ0qk09Dn9T6>)3%wG{VjZDb2y6j-|3GOpc&O`G-9={svRV zSWtM@;G-7mL4CDw-085Y&7z66eellAfxB1*PWbCHBJ$`6{BEX9w2^nOBzgIDhFtG&BOgT=eUMmJB_XBmw7G8J5A%tg4l zw%Q|D)^%y;`m5&2{Es!2d?DcPgN@tc6jhH?aHf7b&t}Bmcr#h5O1;M(r!HH7Uuoso z6Va+--hV!bA%9Q}v_Ye-31Id3X#%*`(3RrF^&^;Y9%S<9B-Q z{1%qDrHnp{|HmWoRRk3Km%pz;D+D6)vx6n?-5G}(PZNY^omB}x4E3c(*{nKZ**OhB z|K^u`Ec$vzgG9AxSs!mgv~=({x{CGVP_wB57Jo5k%n>7YE?GNCGJlNmjxuo)c%kWf zQd8(p9LD0;N0JX&SMXPV0&@@h zD*6Ov@*&>?JSpEZhlCHuz3J|-4FfopTgWR@PunY|p+jL%&zA*K+z7V^2<)OQl870~ zG=H6uBupuO2!MuV+dtnD%WIaYiJihu*z8bO4;*H`DEUKBjV`nvlIxXCdDPeun{SmQ zKG|GK);`^vS5@e?8SntQ6ot?88!A`oA$yqGuc|7Lw(CT!6T)MPmQPQ&w0JdYg-xYY zzpJlxwN&i{{ZM)6nZY~~@8Jb@z8!kx$bU1$TsV56^18Tkd1q*)%6;CJ^y!AkCI5^M ziSf_GZ$Ad{r`7Zs+N$eI)@|yYgz zypS^nZ`TvfoXmcq6SG-%ey@=r5Z4R)Mj0K4xK(u>Qmk`bT$<7fw|`Y5 z`W9joL@~=4#K%idQH>`D>)(`o1!}0lzk|5{*)3)LBQR_*>jJkdguK3UrhRx_;fpg@ zA}Y3pNY{%AqOp>%qOYB(BBRAz-(`Z1u_J&M8#F(LcL?^XxkDd4@`gpl3I9)L9TFLs zqM3k=js|N~VIO|XoM{n5*>KoaZDGruH-%umhrj>fv^q(oKmlIb!baREVfvGGS=f{U z=%|yM6yFQ4CV>`gb@GxA z4gnb2H|8DwUd)ayVD^`h)jDNDSfq+>qVX*meR_B0eLPwo*njNHS9;)~bDMz4VYuXY z^t?In5NI}g#CD@>8FucGL_#+6C@Bzj+W}wOkq>H~qD1W;o_|4>@9GMcckA0Mwsb`Q zGJ(H&jn5ky7IB>T^sBkq)hD)#L+taE-Q-z#!+&uI3XR_6^%RS(ar*AUNHX|9u;YF8 zqrhTCGMzkhr+P)qft>a=(-u~|uE9dP!$u}XA*}#%8o+4Pe03h2u6mGe?j^(>dC50%gCafh~8HDd; zX%d!*QGcuBc?-)h3#f#PH{$#BNHk&cP|VtqtQQMZ}kL#g0#M>hYeoZa(mP!b?L z*T&V7Oh{y=chYEGvoWLuf7?VMU2_N+9^$J~PJi0%eAk2)71OMHXin{lZNo*rPjKv$XkNhsusf zUfv>AUZ=z%-&9qPb6;09)qvahesK;8;d#KuC3_5i2 z_kZcE@n3$!34#`N!;@#MGXY0|X@YUaD3{SqOKbYne^6}c;#L6-KiWj&tsiti5=-Xm za|t6aH=Wh$uO}4=_>mOJ5V-d@HO119Jy0vd7-osc+acKvndScs``hU*4!ApVY1f2a0mT-)8(2WkAu2{86;Nr+uAGtaGq z`7)v1%#*3R6(|U#;#Ca8wPKjubuvgJ%ACOfl8}mNztg$%x^)%BQ&jD?gjw(f7Fuud z3=WJfu1&S=_UQI7*(74=ejKipW@0~w0l(B+{Wqn;%H2aNPGB2IxqrFN zO_<{9-*c?&&~le~itLSKBKaEuDBJjY{=ZO7AmMoh2C0k0Ag_FB&YZKM|`Q{Hf9ARdT`vG_EI9>0m{ATY!Y+;GsSkzb2@qS-%tDkpI zMGO+=P=2JVS3O1?<4xEQY;3JxRhh8!;3=VSU7AaJ6DQDZoJ#&u#DQHRy(RLTBxH9a zk8OI@4`geZUo^-#gbI3-Km}PLh4Ixx$?R-$iOK)kM<6mvM79Y@1PG>GGl`HVT4@3S E0VXblng9R* From ece895874bd9d67bb78eef2d8ea498071d746672 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Fri, 4 Oct 2024 23:44:02 +0200 Subject: [PATCH 21/27] Also import MapLibre.cer --- .github/workflows/ios-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 064dece858d..6cae0d323a5 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -95,6 +95,7 @@ jobs: security unlock-keychain -p "$keychain_password" "$keychain_path" security import "$certificate_path" -P "$p12_password" -k "$keychain_path" -T /usr/bin/codesign -T /usr/bin/security + security import "$PWD"/codesign/MapLibre.cer -k "$keychain_path" -T /usr/bin/codesign -T /usr/bin/security security set-key-partition-list -S apple-tool:,apple: -k "" "$keychain_path" - name: Create Bazel config From e827ff604f1c44086638832ad12b75d250a3572a Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Sat, 5 Oct 2024 00:12:12 +0200 Subject: [PATCH 22/27] set trust of cert --- .github/workflows/ios-ci.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 6cae0d323a5..dd3748adaf7 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -85,7 +85,8 @@ jobs: - name: Import self-signed certificate run: | - certificate_path="$PWD"/codesign/MapLibre.p12 + private_key="$PWD"/codesign/MapLibre.p12 + cert="$PWD"/codesign/MapLibre.cer keychain_path=~/Desktop/app-signing.keychain-db keychain_password="" p12_password="maplibre" @@ -94,9 +95,11 @@ jobs: security set-keychain-settings -lut 21600 "$keychain_path" security unlock-keychain -p "$keychain_password" "$keychain_path" - security import "$certificate_path" -P "$p12_password" -k "$keychain_path" -T /usr/bin/codesign -T /usr/bin/security + security import "$private_key" -P "$p12_password" -k "$keychain_path" -T /usr/bin/codesign -T /usr/bin/security security import "$PWD"/codesign/MapLibre.cer -k "$keychain_path" -T /usr/bin/codesign -T /usr/bin/security security set-key-partition-list -S apple-tool:,apple: -k "" "$keychain_path" + security find-certificate -c "MapLibre" -a -Z "$keychain_path" + security add-trusted-cert -d -r trustRoot -k "$keychain_path" -p basic -p codeSign "$cert" - name: Create Bazel config working-directory: platform/darwin From 981a6c6c8b5b196c7fed567c2598cad24fa5c314 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Sat, 5 Oct 2024 01:02:36 +0200 Subject: [PATCH 23/27] try default keychain --- .github/workflows/ios-ci.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index dd3748adaf7..bcf85f34ad5 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -87,19 +87,19 @@ jobs: run: | private_key="$PWD"/codesign/MapLibre.p12 cert="$PWD"/codesign/MapLibre.cer - keychain_path=~/Desktop/app-signing.keychain-db - keychain_password="" + # keychain_path=~/Desktop/app-signing.keychain-db + # keychain_password="" p12_password="maplibre" - security create-keychain -p "$keychain_password" "$keychain_path" - security set-keychain-settings -lut 21600 "$keychain_path" - security unlock-keychain -p "$keychain_password" "$keychain_path" + # security create-keychain -p "$keychain_password" "$keychain_path" + # security set-keychain-settings -lut 21600 "$keychain_path" + # security unlock-keychain -p "$keychain_password" "$keychain_path" - security import "$private_key" -P "$p12_password" -k "$keychain_path" -T /usr/bin/codesign -T /usr/bin/security - security import "$PWD"/codesign/MapLibre.cer -k "$keychain_path" -T /usr/bin/codesign -T /usr/bin/security - security set-key-partition-list -S apple-tool:,apple: -k "" "$keychain_path" - security find-certificate -c "MapLibre" -a -Z "$keychain_path" - security add-trusted-cert -d -r trustRoot -k "$keychain_path" -p basic -p codeSign "$cert" + security import "$private_key" -P "$p12_password" -T /usr/bin/codesign -T /usr/bin/security + security import "$cert" -T /usr/bin/codesign -T /usr/bin/security + # security set-key-partition-list -S apple-tool:,apple: -k "" "$keychain_path" + # security find-certificate -c "MapLibre" -a -Z "$keychain_path" + # security add-trusted-cert -d -r trustRoot -k "$keychain_path" -p basic -p codeSign "$cert" - name: Create Bazel config working-directory: platform/darwin From f73a9bfd83633c8ea80cc549a119b21a8bceca26 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Sat, 5 Oct 2024 02:01:11 +0200 Subject: [PATCH 24/27] Try macos-14-xlarge --- .github/workflows/ios-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index bcf85f34ad5..35dc786d136 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -56,7 +56,7 @@ jobs: ios-build: needs: pre_job if: needs.pre_job.outputs.should_skip != 'true' - runs-on: macos-15-xlarge + runs-on: macos-14-xlarge concurrency: # cancel jobs on PRs only group: ${{ github.workflow }}-${{ github.ref }} From af0236e3c2f036c0f71eddc28793af1923cd0051 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Sat, 5 Oct 2024 02:09:32 +0200 Subject: [PATCH 25/27] Unlock default keychain --- .github/workflows/ios-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 35dc786d136..780f4e61095 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -95,6 +95,7 @@ jobs: # security set-keychain-settings -lut 21600 "$keychain_path" # security unlock-keychain -p "$keychain_password" "$keychain_path" + security unlock-keychain security import "$private_key" -P "$p12_password" -T /usr/bin/codesign -T /usr/bin/security security import "$cert" -T /usr/bin/codesign -T /usr/bin/security # security set-key-partition-list -S apple-tool:,apple: -k "" "$keychain_path" From a2d949c42523a1a31102d72f4b4ec169884e8c07 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Sat, 5 Oct 2024 02:29:27 +0200 Subject: [PATCH 26/27] Use self-hosted runner again --- .github/workflows/ios-ci.yml | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 780f4e61095..97bd08203b0 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -56,7 +56,7 @@ jobs: ios-build: needs: pre_job if: needs.pre_job.outputs.should_skip != 'true' - runs-on: macos-14-xlarge + runs-on: [self-hosted, macOS, ARM64] concurrency: # cancel jobs on PRs only group: ${{ github.workflow }}-${{ github.ref }} @@ -83,25 +83,6 @@ jobs: ${{ runner.os }}-bazel- path: ~/.cache/bazel - - name: Import self-signed certificate - run: | - private_key="$PWD"/codesign/MapLibre.p12 - cert="$PWD"/codesign/MapLibre.cer - # keychain_path=~/Desktop/app-signing.keychain-db - # keychain_password="" - p12_password="maplibre" - - # security create-keychain -p "$keychain_password" "$keychain_path" - # security set-keychain-settings -lut 21600 "$keychain_path" - # security unlock-keychain -p "$keychain_password" "$keychain_path" - - security unlock-keychain - security import "$private_key" -P "$p12_password" -T /usr/bin/codesign -T /usr/bin/security - security import "$cert" -T /usr/bin/codesign -T /usr/bin/security - # security set-key-partition-list -S apple-tool:,apple: -k "" "$keychain_path" - # security find-certificate -c "MapLibre" -a -Z "$keychain_path" - # security add-trusted-cert -d -r trustRoot -k "$keychain_path" -p basic -p codeSign "$cert" - - name: Create Bazel config working-directory: platform/darwin run: | From d07274c249499d774814a1ec08e0ba8a28a8f88c Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Sat, 5 Oct 2024 19:08:02 +0200 Subject: [PATCH 27/27] Try unlocking login keychain --- .github/workflows/ios-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 97bd08203b0..441042b1c38 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -90,6 +90,9 @@ jobs: echo 'APPLE_MOBILE_PROVISIONING_PROFILE_NAME = "MapLibre"' >> bazel/config.bzl echo 'APPLE_MOBILE_PROVISIONING_PROFILE_TEAM_ID = "MapLibre"' >> bazel/config.bzl + - name: Unlock login keychain + run: security unlock-keychain -p 'ec2-user' ~/Library/Keychains/login.keychain-db + # render test - name: Build RenderTest .ipa and .xctest for AWS Device Farm