From c84b0b4a54b5db62b080efb3714c29d6092d9ad2 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Tue, 28 Nov 2023 17:35:12 -0600 Subject: [PATCH] Align on release/dist --- app.config.js | 36 +++++++++++++++++++++++++++++++----- src/lib/sentry.ts | 20 ++++++++++++++++---- 2 files changed, 47 insertions(+), 9 deletions(-) diff --git a/app.config.js b/app.config.js index d7a0aa2192..ece18d6626 100644 --- a/app.config.js +++ b/app.config.js @@ -1,12 +1,33 @@ module.exports = function () { - const hasSentryToken = !!process.env.SENTRY_AUTH_TOKEN + /** + * App version number. Should be incremented as part of a release cycle. + */ + const VERSION = '1.57.0' + + /** + * iOS build number. Must be incremented for each TestFlight version. + */ + const IOS_BUILD_NUMBER = '4' + + /** + * Android build number. Must be incremented for each release. + */ + const ANDROID_VERSION_CODE = 46 + + /** + * Uses built-in Expo env vars + * + * @see https://docs.expo.dev/build-reference/variables/#built-in-environment-variables + */ + const PLATFORM = process.env.EAS_BUILD_PLATFORM + return { expo: { + version: VERSION, name: 'Bluesky', slug: 'bluesky', scheme: 'bluesky', owner: 'blueskysocial', - version: '1.57.0', runtimeVersion: { policy: 'appVersion', }, @@ -19,7 +40,7 @@ module.exports = function () { backgroundColor: '#ffffff', }, ios: { - buildNumber: '4', + buildNumber: IOS_BUILD_NUMBER, supportsTablet: false, bundleIdentifier: 'xyz.blueskyweb.app', config: { @@ -43,7 +64,7 @@ module.exports = function () { backgroundColor: '#ffffff', }, android: { - versionCode: 46, + versionCode: ANDROID_VERSION_CODE, adaptiveIcon: { foregroundImage: './assets/adaptive-icon.png', backgroundColor: '#ffffff', @@ -74,7 +95,7 @@ module.exports = function () { }, plugins: [ 'expo-localization', - hasSentryToken && 'sentry-expo', + Boolean(process.env.SENTRY_AUTH_TOKEN) && 'sentry-expo', [ 'expo-build-properties', { @@ -100,11 +121,16 @@ module.exports = function () { }, hooks: { postPublish: [ + /* + * @see https://docs.expo.dev/guides/using-sentry/#app-configuration + */ { file: 'sentry-expo/upload-sourcemaps', config: { organization: 'blueskyweb', project: 'react-native', + release: VERSION, + dist: `${PLATFORM}.${VERSION}`, }, }, ], diff --git a/src/lib/sentry.ts b/src/lib/sentry.ts index 1de8635d7f..78adcc8b48 100644 --- a/src/lib/sentry.ts +++ b/src/lib/sentry.ts @@ -18,15 +18,27 @@ const buildChannel = (info.channel || 'development') as /** * Examples: - * - `ios-1.57.0(3)` - * - `android-1.57.0(46)` + * - `dev` + * - `1.57.0` */ -const appVersion = `${Platform.OS}-${app.appVersion}(${app.buildVersion})` +const release = app.appVersion ?? 'dev' + +/** + * Examples: + * - `web.dev` + * - `ios.dev` + * - `android.dev` + * - `web.1.57.0` + * - `ios.1.57.0` + * - `android.1.57.0` + */ +const dist = `${Platform.OS}.${release}` init({ dsn: 'https://05bc3789bf994b81bd7ce20c86ccd3ae@o4505071687041024.ingest.sentry.io/4505071690514432', debug: false, // If `true`, Sentry will try to print out useful debugging information if something goes wrong with sending the event. Set it to `false` in production enableInExpoDevelopment: true, environment: buildChannel, - dist: appVersion, + dist, + release, })