diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 60290989..53d4014b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -100,6 +100,7 @@ jobs: uses: expo/expo-github-action@v7 with: expo-version: latest + eas-version: latest token: ${{ secrets.EXPO_TOKEN }} - name: -- Step 5 -- Install node dependencies run: yarn install @@ -120,3 +121,6 @@ jobs: GH_PAT_GET_RELEASE: ${{ secrets.GITHUB_TOKEN }} FL_GITHUB_RELEASE_API_BEARER: ${{ secrets.GITHUB_TOKEN }} run: yarn app:build release + - name: -- Step 8 -- Publish expo update + run: eas update --non-interactive --auto + diff --git a/android/app/build.gradle b/android/app/build.gradle index 564a763a..2f36faa6 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -171,7 +171,7 @@ android { } } manifestPlaceholders = [ - expoSDK: project.hasProperty('expoSDK') ? project.property('expoSDK') : "", + runtimeVersion: project.hasProperty('runtimeVersion') ? project.property('runtimeVersion') : "", releaseChannel: project.hasProperty('releaseChannel') ? project.property('releaseChannel') : "default" ] } diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index f8d6647f..043124d8 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -13,11 +13,11 @@ - - + + - + diff --git a/app.config.ts b/app.config.ts index 5a8c343b..53adc405 100644 --- a/app.config.ts +++ b/app.config.ts @@ -5,6 +5,10 @@ import 'dotenv/config' const toootVersion = `${versions.major}.${versions.minor}.${versions.patch}` export default (): ExpoConfig => ({ + updates: { + url: "https://u.expo.dev/3288313f-3ff0-496a-a5a9-d8985e7cad5f" + }, + runtimeVersion: `${versions.major}.${versions.minor}`, name: 'tooot', description: 'tooot for Mastodon', slug: 'tooot', diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 14fa228c..66b5c9ad 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -31,8 +31,8 @@ private_lane :build_ios do IPA_FILE = "#{BUILD_DIRECTORY}/tooot.ipa" DSYM_FILE = "#{BUILD_DIRECTORY}/tooot.app.dSYM.zip" - set_info_plist_value( path: EXPO_PLIST, key: "EXUpdatesSDKVersion", value: VERSIONS[:expo] ) - set_info_plist_value( path: EXPO_PLIST, key: "EXUpdatesReleaseChannel", value: RELEASE_CHANNEL ) + set_info_plist_value( path: EXPO_PLIST, key: "EXUpdatesRuntimeVersion", value: VERSION ) + set_info_plist_value( path: EXPO_PLIST, key: "EXUpdatesReleaseChannel", value: ENVIRONMENT ) setup_ci set_info_plist_value( path: INFO_PLIST, key: "CFBundleShortVersionString", value: VERSION ) @@ -97,8 +97,8 @@ private_lane :build_android do print_command: true, print_command_output: true, properties: { - "expoSDK" => VERSIONS[:expo], - "releaseChannel" => RELEASE_CHANNEL, + "runtimeVersion" => VERSION, + "releaseChannel" => ENVIRONMENT, "android.injected.signing.store.file" => "#{File.expand_path('..', Dir.pwd)}/android/tooot.jks", "android.injected.signing.store.password" => ENV["ANDROID_KEYSTORE_PASSWORD"], "android.injected.signing.key.alias" => ENV["ANDROID_KEYSTORE_ALIAS"], @@ -136,8 +136,8 @@ private_lane :build_android_apk do print_command: true, print_command_output: true, properties: { - "expoSDK" => VERSIONS[:expo], - "releaseChannel" => RELEASE_CHANNEL, + "runtimeVersion" => VERSION, + "releaseChannel" => ENVIRONMENT, "android.injected.signing.store.file" => "#{File.expand_path('..', Dir.pwd)}/android/tooot.jks", "android.injected.signing.store.password" => ENV["ANDROID_KEYSTORE_PASSWORD"], "android.injected.signing.key.alias" => ENV["ANDROID_KEYSTORE_ALIAS"], @@ -185,6 +185,5 @@ lane :release do upload_assets: ["#{File.expand_path('..', Dir.pwd)}/tooot-#{GITHUB_RELEASE}.apk"] ) end - yarn( package_path: "./package.json", flags: "release", command: RELEASE_CHANNEL ) rocket end diff --git a/ios/tooot/Supporting/Expo.plist b/ios/tooot/Supporting/Expo.plist index ab06f3de..8c6922ef 100644 --- a/ios/tooot/Supporting/Expo.plist +++ b/ios/tooot/Supporting/Expo.plist @@ -9,10 +9,10 @@ EXUpdatesLaunchWaitMs 0 EXUpdatesReleaseChannel - 0-development - EXUpdatesSDKVersion + development + EXUpdatesRuntimeVersion 0 EXUpdatesURL - https://exp.host/@xmflsct/tooot + https://u.expo.dev/3288313f-3ff0-496a-a5a9-d8985e7cad5f \ No newline at end of file diff --git a/package.json b/package.json index d6b6b5c6..fee50e10 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,9 @@ { "name": "tooot", "versions": { - "native": "220806", "major": 4, "minor": 2, - "patch": 0, - "expo": "46.0.0" + "patch": 0 }, "description": "tooot app for Mastodon", "author": "xmflsct ", @@ -20,7 +18,6 @@ "iphone": "react-native run-ios", "ipad": "react-native run-ios --simulator 'iPad mini (6th generation)'", "app:build": "bundle exec fastlane", - "release": "scripts/release.sh", "clean": "react-native-clean-project", "postinstall": "patch-package" }, @@ -149,4 +146,4 @@ } } } -} +} \ No newline at end of file diff --git a/scripts/release.sh b/scripts/release.sh deleted file mode 100755 index b7534c7e..00000000 --- a/scripts/release.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -if [ $# -ne 1 ]; then - echo "Arguments incorrect" - exit 1 -fi - -expo publish --quiet --target bare --release-channel=$1 \ No newline at end of file diff --git a/src/api/general.ts b/src/api/general.ts index a9a16652..35b971dd 100644 --- a/src/api/general.ts +++ b/src/api/general.ts @@ -23,13 +23,13 @@ const apiGeneral = async ({ }: Params): Promise<{ body: T }> => { console.log( ctx.bgGreen.bold(' API general ') + - ' ' + - domain + - ' ' + - method + - ctx.green(' -> ') + - `/${url}` + - (params ? ctx.green(' -> ') : ''), + ' ' + + domain + + ' ' + + method + + ctx.green(' -> ') + + `/${url}` + + (params ? ctx.green(' -> ') : ''), params ? params : '' ) @@ -44,7 +44,7 @@ const apiGeneral = async ({ body && body instanceof FormData ? 'multipart/form-data' : 'application/json', - 'User-Agent': `tooot/${Constants.manifest?.version}`, + 'User-Agent': `tooot/${Constants.expoConfig?.version}`, Accept: '*/*', ...headers }, diff --git a/src/api/instance.ts b/src/api/instance.ts index f0269ac8..c15d5bcc 100644 --- a/src/api/instance.ts +++ b/src/api/instance.ts @@ -74,7 +74,7 @@ const apiInstance = async ({ body && body instanceof FormData ? 'multipart/form-data' : 'application/json', - 'User-Agent': `tooot/${Constants.manifest?.version}`, + 'User-Agent': `tooot/${Constants.expoConfig?.version}`, Accept: '*/*', ...headers, ...(token && { diff --git a/src/api/tooot.ts b/src/api/tooot.ts index e013f72b..fc6bd0d3 100644 --- a/src/api/tooot.ts +++ b/src/api/tooot.ts @@ -50,7 +50,7 @@ const apiTooot = async ({ body && body instanceof FormData ? 'multipart/form-data' : 'application/json', - 'User-Agent': `tooot/${Constants.manifest?.version}`, + 'User-Agent': `tooot/${Constants.expoConfig?.version}`, Accept: '*/*', ...headers }, diff --git a/src/screens/Tabs/Me/Settings/Analytics.tsx b/src/screens/Tabs/Me/Settings/Analytics.tsx index 7701564b..580cd530 100644 --- a/src/screens/Tabs/Me/Settings/Analytics.tsx +++ b/src/screens/Tabs/Me/Settings/Analytics.tsx @@ -42,7 +42,7 @@ const SettingsAnalytics: React.FC = () => { color: colors.secondary }} > - {t('me.settings.version', { version: Constants.manifest?.version })} + {t('me.settings.version', { version: Constants.expoConfig?.version })} ({ const isDevelopment = __DEV__ || - ['development'].some(channel => Updates.releaseChannel.includes(channel)) + ['development'].some(channel => Updates.channel === channel) const isCandidate = ['candidate'].some(channel => - Updates.releaseChannel.includes(channel) + Updates.channel === channel ) const isRelease = ['release'].some(channel => - Updates.releaseChannel.includes(channel) + Updates.channel === channel ) export { mapEnvironment, isDevelopment, isCandidate, isRelease } diff --git a/src/utils/slices/appSlice.ts b/src/utils/slices/appSlice.ts index dc793133..09eb3ec7 100644 --- a/src/utils/slices/appSlice.ts +++ b/src/utils/slices/appSlice.ts @@ -54,9 +54,9 @@ const appSlice = createSlice({ } }) .addCase(retriveVersionLatest.fulfilled, (state, action) => { - if (action.payload && Constants.manifest?.version) { + if (action.payload && Constants.expoConfig?.version) { if ( - parseFloat(action.payload) > parseFloat(Constants.manifest.version) + parseFloat(action.payload) > parseFloat(Constants.expoConfig?.version) ) { state.versionUpdate = true } diff --git a/src/utils/slices/contextsSlice.ts b/src/utils/slices/contextsSlice.ts index b957f65c..36c0b680 100644 --- a/src/utils/slices/contextsSlice.ts +++ b/src/utils/slices/contextsSlice.ts @@ -38,7 +38,7 @@ const contextsSlice = createSlice({ initialState: contextsInitialState as ContextsState, reducers: { updateStoreReview: (state, action: PayloadAction<1>) => { - if (Updates.releaseChannel.includes('release')) { + if (Updates.channel === 'release') { state.storeReview.current = state.storeReview.current + action.payload if (state.storeReview.current === state.storeReview.context) { StoreReview?.isAvailableAsync().then(() =>