about summary refs log tree commit diff
diff options
context:
space:
mode:
authorHailey <me@haileyok.com>2024-02-09 16:57:28 -0800
committerGitHub <noreply@github.com>2024-02-09 16:57:28 -0800
commit6d91726e00620b19f14141598df09ad053e500e0 (patch)
treed2185d96a0ae4ba1121f36318a524ef90d9d345c
parentad8f9e560d7f320d1b7db5b816b17db825b86ce7 (diff)
downloadvoidsky-6d91726e00620b19f14141598df09ad053e500e0.tar.zst
eas nightlies (#2826)
* add comment to config

* add ios build num bump script

* remove bak

* add bump script for android

* github action

* add comment to config

* testing

* testing attempt 2

* add app id

* ok add the app id the right way

* Apply automatic changes

* test the commit message

* test the commit message again

* Nightly iOS Build Bump

* finished

---------

Co-authored-by: haileyok <haileyok@users.noreply.github.com>
-rw-r--r--.github/workflows/deploy-nightly-testflight.yml52
-rw-r--r--app.config.js4
-rw-r--r--eas.json6
-rw-r--r--package.json5
-rwxr-xr-xscripts/bumpAndroidBuildNumber.sh10
-rwxr-xr-xscripts/bumpIosBuildNumber.sh10
6 files changed, 84 insertions, 3 deletions
diff --git a/.github/workflows/deploy-nightly-testflight.yml b/.github/workflows/deploy-nightly-testflight.yml
new file mode 100644
index 000000000..e3875899e
--- /dev/null
+++ b/.github/workflows/deploy-nightly-testflight.yml
@@ -0,0 +1,52 @@
+name: Deploy Nightly Testflight Release
+
+on:
+  schedule:
+    - cron: '0 5 * * *'
+
+jobs:
+  build:
+    name: Deploy Nightly Testflight Release
+    runs-on: ubuntu-latest
+    permissions:
+      contents: write
+
+    steps:
+      - name: Check for EXPO_TOKEN
+        run: |
+          if [ -z "${{ secrets.EXPO_TOKEN }}" ]; then
+            echo "You must provide an EXPO_TOKEN secret linked to this project's Expo account in this repo's secrets. Learn more: https://docs.expo.dev/eas-update/github-actions"
+            exit 1
+          fi
+
+      - name: Checkout
+        uses: actions/checkout@v4
+
+      - name: Setup Node
+        uses: actions/setup-node@v3
+        with:
+          node-version: 18.x
+          cache: yarn
+
+      - name: Setup EAS
+        uses: expo/expo-github-action@v8
+        with:
+          eas-version: latest
+          token: ${{ secrets.EXPO_TOKEN }}
+
+      - name: Install dependencies
+        run: yarn install
+
+      - name: Bump build number
+        run: yarn bump:ios
+
+      - name: EAS build and submit
+        run: eas build -p ios --profile production --auto-submit --non-interactive
+
+      - name: Commit
+        uses: stefanzweifel/git-auto-commit-action@v5
+        with:
+          commit_message: Nightly iOS Build Bump
+          branch: main
+          commit_user_name: github-actions[bot]
+          commit_user_email: github-actions[bot]@users.noreply.github.com
diff --git a/app.config.js b/app.config.js
index 8dcdbf5d4..701ca7fb7 100644
--- a/app.config.js
+++ b/app.config.js
@@ -19,11 +19,13 @@ module.exports = function () {
 
   /**
    * iOS build number. Must be incremented for each TestFlight version.
+   * WARNING: Always leave this variable on line 24! If it is moved, you need to update ./scripts/bumpIosBuildNumber.sh
    */
-  const IOS_BUILD_NUMBER = '2'
+  const IOS_BUILD_NUMBER = '3'
 
   /**
    * Android build number. Must be incremented for each release.
+   * WARNING: Always leave this variable on line 30! If it is moved, you need to update ./scripts/bumpAndroidBuildNumber.sh
    */
   const ANDROID_VERSION_CODE = 61
 
diff --git a/eas.json b/eas.json
index 25fee4ea5..75254d293 100644
--- a/eas.json
+++ b/eas.json
@@ -34,6 +34,10 @@
     }
   },
   "submit": {
-    "production": {}
+    "production": {
+      "ios": {
+        "ascAppId": "6444370199"
+      }
+    }
   }
 }
diff --git a/package.json b/package.json
index 17d6f3d3a..837a8d0e4 100644
--- a/package.json
+++ b/package.json
@@ -36,7 +36,10 @@
     "intl:check": "yarn intl:extract && git diff-index -G'(^[^\\*# /])|(^#\\w)|(^\\s+[^\\*#/])' HEAD || (echo '\n⚠️ i18n detected un-extracted translations\n' && exit 1)",
     "intl:extract": "lingui extract",
     "intl:compile": "lingui compile",
-    "nuke": "rm -rf ./node_modules && rm -rf ./ios && rm -rf ./android"
+    "nuke": "rm -rf ./node_modules && rm -rf ./ios && rm -rf ./android",
+    "bump": "./scripts/bumpIosBuildNumber.sh && ./scripts/bumpAndroidBuildNumber.sh",
+    "bump:ios": "./scripts/bumpIosBuildNumber.sh",
+    "bump:android": "./scripts/bumpAndroidBuildNumber.sh"
   },
   "dependencies": {
     "@atproto/api": "^0.9.5",
diff --git a/scripts/bumpAndroidBuildNumber.sh b/scripts/bumpAndroidBuildNumber.sh
new file mode 100755
index 000000000..105f1296d
--- /dev/null
+++ b/scripts/bumpAndroidBuildNumber.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+# The number here should always be the line number the iOS build variable is on
+line=$(sed "30q;d" ./app.config.js)
+currentBuildNumber=$(echo "$line" | grep -oE '[0-9]+([.][0-9]+)?')
+newBuildNumber=$((currentBuildNumber+1))
+newBuildVariable="const ANDROID_VERSION_CODE = '$newBuildNumber'"
+sed -i.bak "30s/.*/  $newBuildVariable/" ./app.config.js
+rm -rf ./app.config.js.bak
+
+echo "Android build number bumped to $newBuildNumber"
diff --git a/scripts/bumpIosBuildNumber.sh b/scripts/bumpIosBuildNumber.sh
new file mode 100755
index 000000000..b78d2e69d
--- /dev/null
+++ b/scripts/bumpIosBuildNumber.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+# The number here should always be the line number the iOS build variable is on
+line=$(sed "24q;d" ./app.config.js)
+currentBuildNumber=$(echo "$line" | grep -oE '[0-9]+([.][0-9]+)?')
+newBuildNumber=$((currentBuildNumber+1))
+newBuildVariable="const IOS_BUILD_NUMBER = '$newBuildNumber'"
+sed -i.bak "24s/.*/  $newBuildVariable/" ./app.config.js
+rm -rf ./app.config.js.bak
+
+echo "iOS build number bumped to $newBuildNumber"