Compare commits

...

17 Commits

Author SHA1 Message Date
Eric Bailey 7a4e1b8a3f Align dist 2023-11-28 21:43:19 -06:00
Eric Bailey 2053fece6f Just use package version 2023-11-28 21:34:53 -06:00
Eric Bailey 65d9d234fb Add build version 2023-11-28 17:39:50 -06:00
Eric Bailey c84b0b4a54 Align on release/dist 2023-11-28 17:35:12 -06:00
Eric Bailey 09bd795088 Replace invalid character 2023-11-28 15:04:54 -06:00
Eric Bailey ab05426f8b Clarify 2023-11-28 14:46:17 -06:00
Eric Bailey 76640d8b9e Remove scripts 2023-11-28 14:36:56 -06:00
Eric Bailey 28fadb1a90 Set env in Expo 2023-11-28 14:30:58 -06:00
Eric Bailey 11bb077045 Fix typo 2023-11-28 14:27:47 -06:00
Eric Bailey 0880295e21 Remove unecessary config 2023-11-28 14:26:07 -06:00
Eric Bailey 5138df038d Remove debug 2023-11-28 14:20:52 -06:00
Eric Bailey 2524b38295 Fix typo 2023-11-28 14:20:35 -06:00
Eric Bailey 7d191aa7b7 Add TF build 2023-11-28 14:17:06 -06:00
Eric Bailey a0d984ad38 Remove debug 2023-11-28 14:16:50 -06:00
Eric Bailey 69bf8a59b6 Ok actually enable in dev 2023-11-28 14:16:06 -06:00
Eric Bailey 8cb12b3e17 Enable sentry 2023-11-28 14:08:12 -06:00
Eric Bailey 6406627c39 Update build profiles, sentry config 2023-11-28 14:06:16 -06:00
5 changed files with 86 additions and 35 deletions
+39 -5
View File
@@ -1,12 +1,41 @@
const pkg = require('./package.json')
module.exports = function () {
const hasSentryToken = !!process.env.SENTRY_AUTH_TOKEN
/**
* App version number. Should be incremented as part of a release cycle.
*/
const VERSION = pkg.version
/**
* 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
/**
* Additional granularity for the `dist` field
*/
const DIST_BUILD_NUMBER =
PLATFORM === 'android' ? ANDROID_VERSION_CODE : IOS_BUILD_NUMBER
return {
expo: {
version: VERSION,
name: 'Bluesky',
slug: 'bluesky',
scheme: 'bluesky',
owner: 'blueskysocial',
version: '1.57.0',
runtimeVersion: {
policy: 'appVersion',
},
@@ -19,7 +48,7 @@ module.exports = function () {
backgroundColor: '#ffffff',
},
ios: {
buildNumber: '4',
buildNumber: IOS_BUILD_NUMBER,
supportsTablet: false,
bundleIdentifier: 'xyz.blueskyweb.app',
config: {
@@ -43,7 +72,7 @@ module.exports = function () {
backgroundColor: '#ffffff',
},
android: {
versionCode: 46,
versionCode: ANDROID_VERSION_CODE,
adaptiveIcon: {
foregroundImage: './assets/adaptive-icon.png',
backgroundColor: '#ffffff',
@@ -74,7 +103,7 @@ module.exports = function () {
},
plugins: [
'expo-localization',
hasSentryToken && 'sentry-expo',
Boolean(process.env.SENTRY_AUTH_TOKEN) && 'sentry-expo',
[
'expo-build-properties',
{
@@ -100,11 +129,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}.${DIST_BUILD_NUMBER}`,
},
},
],
+4 -21
View File
@@ -11,28 +11,19 @@
"extends": "base",
"developmentClient": true,
"distribution": "internal",
"channel": "development",
"ios": {
"simulator": true,
"resourceClass": "large"
},
"channel": "development"
},
"development-device": {
"extends": "base",
"developmentClient": true,
"distribution": "internal",
"ios": {
"resourceClass": "large"
},
"channel": "development"
}
},
"preview": {
"extends": "base",
"distribution": "internal",
"channel": "preview",
"ios": {
"resourceClass": "large"
},
"channel": "preview"
}
},
"production": {
"extends": "base",
@@ -40,14 +31,6 @@
"resourceClass": "large"
},
"channel": "production"
},
"dev-android-apk": {
"extends": "base",
"developmentClient": true,
"android": {
"buildType": "apk",
"gradleCommand": ":app:assembleRelease"
}
}
},
"submit": {
-1
View File
@@ -28,7 +28,6 @@
"perf:test:measure": "NODE_ENV=test flashlight test --bundleId xyz.blueskyweb.app --testCommand 'yarn perf:test' --duration 150000 --resultsFilePath .perf/results.json",
"perf:test:results": "NODE_ENV=test flashlight report .perf/results.json",
"perf:measure": "NODE_ENV=test flashlight measure",
"build:apk": "eas build -p android --profile dev-android-apk",
"intl:extract": "lingui extract",
"intl:compile": "lingui compile"
},
+40 -2
View File
@@ -1,8 +1,46 @@
/**
* Importing these separately from `platform/detection` and `lib/app-info` to
* avoid future conflicts and/or circular deps
*/
import {Platform} from 'react-native'
import app from 'react-native-version-number'
import * as info from 'expo-updates'
import {init} from 'sentry-expo'
/**
* Matches the build profile `channel` props in `eas.json`
*/
const buildChannel = (info.channel || 'development') as
| 'development'
| 'preview'
| 'production'
/**
* Examples:
* - `dev`
* - `1.57.0`
*/
const release = app.appVersion ?? 'dev'
/**
* Examples:
* - `web.dev`
* - `ios.dev`
* - `android.dev`
* - `web.1.57.0`
* - `ios.1.57.0.3`
* - `android.1.57.0.46`
*/
const dist = `${Platform.OS}.${release}${
app.buildVersion ? `.${app.buildVersion}` : ''
}`
init({
dsn: 'https://05bc3789bf994b81bd7ce20c86ccd3ae@o4505071687041024.ingest.sentry.io/4505071690514432',
enableInExpoDevelopment: false, // if true, Sentry will try to send events/errors in development mode.
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
environment: __DEV__ ? 'development' : 'production', // Set the environment
enableInExpoDevelopment: true,
environment: buildChannel,
dist,
release,
})
+3 -6
View File
@@ -288,16 +288,13 @@ export class Logger {
*/
export const logger = new Logger()
/**
* Report to console in dev, Sentry in prod, nothing in test.
*/
if (env.IS_DEV && !env.IS_TEST) {
logger.addTransport(consoleTransport)
/**
* Uncomment this to test Sentry in dev
* Comment this out to disable Sentry transport in dev
*/
// logger.addTransport(sentryTransport);
logger.addTransport(sentryTransport)
} else if (env.IS_PROD) {
// logger.addTransport(sentryTransport)
logger.addTransport(sentryTransport)
}