diff --git a/.github/workflows/build-submit-ios.yml b/.github/workflows/build-submit-ios.yml index b816a5dc70..6e5692a9d9 100644 --- a/.github/workflows/build-submit-ios.yml +++ b/.github/workflows/build-submit-ios.yml @@ -98,10 +98,29 @@ jobs: yarn use-build-number-with-bump eas build -p ios --profile ${{ inputs.profile || 'testflight' }} - --local --output build.ipa --non-interactive + --local --output build.tar.gz --non-interactive + + - name: 📂 Extract build artifact + run: | + if [ -f "build.tar.gz" ]; then + echo "Extracting build.tar.gz..." + mkdir ios-build + tar -xzf build.tar.gz -C ios-build + echo "Extraction completed successfully" + else + echo "Archive file not found!" + exit 1 + fi - name: 🚀 Deploy - run: eas submit -p ios --non-interactive --path build.ipa + run: eas submit -p ios --non-interactive --path ios-build/ios/build/Bluesky.ipa + + - name: 🪲 Upload dSYM to Sentry + run: > + SENTRY_ORG=blueskyweb + SENTRY_PROJECT=app + SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} + yarn sentry-cli debug-files upload ios-build/ios/build/Bluesky.app.dSYM.zip --include-sources - name: 📚 Get version from package.json id: get-build-info diff --git a/app.config.js b/app.config.js index 46f2c8be78..5cba79ad0c 100644 --- a/app.config.js +++ b/app.config.js @@ -112,6 +112,34 @@ module.exports = function (_config) { 'com.apple.security.application-groups': 'group.app.bsky', }, privacyManifests: { + NSPrivacyCollectedDataTypes: [ + { + NSPrivacyCollectedDataType: 'NSPrivacyCollectedDataTypeCrashData', + NSPrivacyCollectedDataTypeLinked: false, + NSPrivacyCollectedDataTypeTracking: false, + NSPrivacyCollectedDataTypePurposes: [ + 'NSPrivacyCollectedDataTypePurposeAppFunctionality', + ], + }, + { + NSPrivacyCollectedDataType: + 'NSPrivacyCollectedDataTypePerformanceData', + NSPrivacyCollectedDataTypeLinked: false, + NSPrivacyCollectedDataTypeTracking: false, + NSPrivacyCollectedDataTypePurposes: [ + 'NSPrivacyCollectedDataTypePurposeAppFunctionality', + ], + }, + { + NSPrivacyCollectedDataType: + 'NSPrivacyCollectedDataTypeOtherDiagnosticData', + NSPrivacyCollectedDataTypeLinked: false, + NSPrivacyCollectedDataTypeTracking: false, + NSPrivacyCollectedDataTypePurposes: [ + 'NSPrivacyCollectedDataTypePurposeAppFunctionality', + ], + }, + ], NSPrivacyAccessedAPITypes: [ { NSPrivacyAccessedAPIType: diff --git a/eas.json b/eas.json index c8b1e47f14..41084449ad 100644 --- a/eas.json +++ b/eas.json @@ -36,7 +36,8 @@ "extends": "base", "ios": { "resourceClass": "large", - "autoIncrement": true + "autoIncrement": true, + "buildArtifactPaths": ["ios/build/*"] }, "android": { "autoIncrement": true @@ -50,7 +51,8 @@ "extends": "base", "distribution": "internal", "ios": { - "autoIncrement": false + "autoIncrement": false, + "buildArtifactPaths": ["ios/build/*"] }, "android": { "autoIncrement": false @@ -63,7 +65,8 @@ "testflight": { "extends": "base", "ios": { - "autoIncrement": true + "autoIncrement": true, + "buildArtifactPaths": ["ios/build/*"] }, "android": { "autoIncrement": true @@ -77,7 +80,8 @@ "extends": "base", "distribution": "internal", "ios": { - "autoIncrement": true + "autoIncrement": true, + "buildArtifactPaths": ["ios/build/*"] }, "android": { "autoIncrement": true diff --git a/src/view/screens/Storybook/index.tsx b/src/view/screens/Storybook/index.tsx index 8706547610..f7eee5fee9 100644 --- a/src/view/screens/Storybook/index.tsx +++ b/src/view/screens/Storybook/index.tsx @@ -3,6 +3,7 @@ import {View} from 'react-native' import {useNavigation} from '@react-navigation/native' import {type NavigationProp} from '#/lib/routes/types' +import {Sentry} from '#/logger/sentry/lib' import {useSetThemePrefs} from '#/state/shell' import {ListContained} from '#/view/screens/Storybook/ListContained' import {atoms as a, ThemeProvider} from '#/alf' @@ -95,6 +96,13 @@ function StorybookInner() { testID="sharedPrefsTestOpenBtn"> Open Shared Prefs Tester +