From ee66bbcbf9334ff916b8fe33742392704cbd0278 Mon Sep 17 00:00:00 2001 From: Jason Salaber Date: Thu, 16 May 2024 12:07:05 -0400 Subject: [PATCH] chore: add privacy manifest (#198) * chore: add privacy manifest for accessing user defaults * Set github auth * Set github auth for fastlane * Set to env - not output * Remove base64 args * Use https url as we're not using SSH to clone * Git bearer? * Git bearer. * set under match specifically --------- Co-authored-by: Jamie Sinn --- .github/workflows/macos.yaml | 25 ++++++++++++------------- DevCycle.xcodeproj/project.pbxproj | 7 +++++++ DevCycle/PrivacyInfo.xcprivacy | 17 +++++++++++++++++ Package.swift | 5 ++++- fastlane/Matchfile | 4 ++-- 5 files changed, 42 insertions(+), 16 deletions(-) create mode 100644 DevCycle/PrivacyInfo.xcprivacy diff --git a/.github/workflows/macos.yaml b/.github/workflows/macos.yaml index 6e16202b..8fd89afa 100644 --- a/.github/workflows/macos.yaml +++ b/.github/workflows/macos.yaml @@ -10,26 +10,25 @@ jobs: steps: - name: Checkout Project uses: actions/checkout@v4 - - name: 'Select Latest Xcode' + - name: Setup Fastlane Auth + run: echo "FASTLANE_GIT_BASIC_AUTHORIZATION=$(echo -n taplytics-robot:${{ secrets.AUTOMATION_USER_TOKEN }} | base64)" >> "$GITHUB_ENV" + - name: "Select Latest Xcode" uses: maxim-lobanov/setup-xcode@v1 with: xcode-version: latest-stable - - name: 'Set SSH key' - uses: webfactory/ssh-agent@v0.9.0 - with: - ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} - name: 'Carthage Cached Bootstrap' uses: DevCycleHQ/carthage-bootstrap@xcframeworks2 with: - github-token: ${{ secrets.GITHUB_TOKEN }} + github-token: ${{ secrets.AUTOMATION_USER_TOKEN }} use-xcframeworks: true - name: Fastlane macOS Tests run: fastlane mac tests env: - DEVELOPER_APP_ID: '${{ secrets.DEVELOPER_APP_ID }}' - MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}' - TEMP_KEYCHAIN_PASSWORD: '${{ secrets.TEMP_KEYCHAIN_PASSWORD }}' - TEMP_KEYCHAIN_USER: '${{ secrets.TEMP_KEYCHAIN_USER }}' - APPLE_KEY_ID: '${{ secrets.APPLE_KEY_ID }}' - APPLE_ISSUER_ID: '${{ secrets.APPLE_ISSUER_ID }}' - APPLE_KEY_CONTENT: '${{ secrets.APPLE_KEY_CONTENT }}' + MATCH_GIT_BASIC_AUTHORIZATION: "${{ env.FASTLANE_GIT_BASIC_AUTHORIZATION }}" + DEVELOPER_APP_ID: "${{ secrets.DEVELOPER_APP_ID }}" + MATCH_PASSWORD: "${{ secrets.MATCH_PASSWORD }}" + TEMP_KEYCHAIN_PASSWORD: "${{ secrets.TEMP_KEYCHAIN_PASSWORD }}" + TEMP_KEYCHAIN_USER: "${{ secrets.TEMP_KEYCHAIN_USER }}" + APPLE_KEY_ID: "${{ secrets.APPLE_KEY_ID }}" + APPLE_ISSUER_ID: "${{ secrets.APPLE_ISSUER_ID }}" + APPLE_KEY_CONTENT: "${{ secrets.APPLE_KEY_CONTENT }}" diff --git a/DevCycle.xcodeproj/project.pbxproj b/DevCycle.xcodeproj/project.pbxproj index 34d97db9..ade9d8f9 100644 --- a/DevCycle.xcodeproj/project.pbxproj +++ b/DevCycle.xcodeproj/project.pbxproj @@ -36,6 +36,7 @@ 5268DB6B275020F800D17A40 /* DevCycleClientTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5268DB6A275020F800D17A40 /* DevCycleClientTests.swift */; }; 5276C9F0275E682B00B9A324 /* DevCycleOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5276C9EF275E682B00B9A324 /* DevCycleOptions.swift */; }; 5276C9F2275E6E0D00B9A324 /* DevCycleOptionsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5276C9F1275E6E0D00B9A324 /* DevCycleOptionsTest.swift */; }; + 5282C90A2BF50F1D00AF9D0D /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 5282C9092BF50F1D00AF9D0D /* PrivacyInfo.xcprivacy */; }; 529CE32328DCBEC2009AB137 /* RequestConsolidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 529CE32228DCBEC2009AB137 /* RequestConsolidator.swift */; }; 529F0C90277374150075AAB4 /* ObjcDVCVariableTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 529F0C8F277374150075AAB4 /* ObjcDVCVariableTests.m */; }; 529F0CA52774D6BE0075AAB4 /* URLSessionMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 529F0CA42774D6BE0075AAB4 /* URLSessionMock.swift */; }; @@ -111,6 +112,7 @@ 5268DB6A275020F800D17A40 /* DevCycleClientTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DevCycleClientTests.swift; sourceTree = ""; }; 5276C9EF275E682B00B9A324 /* DevCycleOptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DevCycleOptions.swift; sourceTree = ""; }; 5276C9F1275E6E0D00B9A324 /* DevCycleOptionsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DevCycleOptionsTest.swift; sourceTree = ""; }; + 5282C9092BF50F1D00AF9D0D /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; 529CE32228DCBEC2009AB137 /* RequestConsolidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RequestConsolidator.swift; sourceTree = ""; }; 529F0C8F277374150075AAB4 /* ObjcDVCVariableTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ObjcDVCVariableTests.m; sourceTree = ""; }; 529F0CA42774D6BE0075AAB4 /* URLSessionMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLSessionMock.swift; sourceTree = ""; }; @@ -240,6 +242,7 @@ 524F4E5F276BDDBD00CB9069 /* DVCVariable.swift */, 5268DB4F27501CFC00D17A40 /* DevCycle.h */, E673EFC6290093C400C2C4BE /* SSEConnection.swift */, + 5282C9092BF50F1D00AF9D0D /* PrivacyInfo.xcprivacy */, ); path = DevCycle; sourceTree = ""; @@ -364,6 +367,9 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = 1; + KnownAssetTags = ( + New, + ); LastSwiftUpdateCheck = 1310; LastUpgradeCheck = 1420; ORGANIZATIONNAME = Taplytics; @@ -401,6 +407,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 5282C90A2BF50F1D00AF9D0D /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/DevCycle/PrivacyInfo.xcprivacy b/DevCycle/PrivacyInfo.xcprivacy new file mode 100644 index 00000000..eaf14b45 --- /dev/null +++ b/DevCycle/PrivacyInfo.xcprivacy @@ -0,0 +1,17 @@ + + + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + + + + diff --git a/Package.swift b/Package.swift index 9129d027..f6e79400 100644 --- a/Package.swift +++ b/Package.swift @@ -27,7 +27,10 @@ let package = Package( dependencies: [ .product(name: "LDSwiftEventSource", package: "LDSwiftEventSource") ], - path: "DevCycle" + path: "DevCycle", + resources: [ + .process("PrivacyInfo.xcprivacy") + ] ), .testTarget( name: "DevCycleTests", diff --git a/fastlane/Matchfile b/fastlane/Matchfile index 20df99dc..c203d624 100644 --- a/fastlane/Matchfile +++ b/fastlane/Matchfile @@ -1,5 +1,5 @@ -git_url("git@github.com:DevCycleHQ/macOS-certificates.git") - +git_url("https://github.com/DevCycleHQ/macOS-certificates.git") +git_branch("main") storage_mode("git") platform("macos")