diff options
author | Hailey <me@haileyok.com> | 2024-04-03 18:04:48 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-03 18:04:48 -0700 |
commit | a356b1be1a08814766ae9deadd7b8467a35feb0e (patch) | |
tree | f8c3499e415e15db329e36a4767563849bef9c31 /.github/workflows | |
parent | cad0590694572b6c5e1eb35f2f6c09edeef33724 (diff) | |
download | voidsky-a356b1be1a08814766ae9deadd7b8467a35feb0e.tar.zst |
Work around GitHub false-positive for passing secret to another action (#3396)
* run bundle/deploy on main pushes * don't fetch from origin if not necessary * fix false-postive for secret in outputs rm test test 'false' rm test use in both places workaround "secret" string add a manual testflight deployment option for android add a manual testflight deployment option for android add a manual testflight deployment option for android * rm test code
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/build-submit-android.yml | 37 | ||||
-rw-r--r-- | .github/workflows/bundle-deploy-eas-update.yml | 16 |
2 files changed, 49 insertions, 4 deletions
diff --git a/.github/workflows/build-submit-android.yml b/.github/workflows/build-submit-android.yml index 51fa5f4c3..dec4e0e7e 100644 --- a/.github/workflows/build-submit-android.yml +++ b/.github/workflows/build-submit-android.yml @@ -8,6 +8,7 @@ on: type: choice description: Build profile to use options: + - testflight-android - production jobs: @@ -59,7 +60,41 @@ jobs: echo "$json" > google-services.json - name: 🏗️ EAS Build - run: yarn use-build-number-with-bump eas build -p android --profile production --local --output build.aab --non-interactive + run: yarn use-build-number-with-bump eas build -p android --profile ${{ inputs.profile || 'testflight-android' }} --local --output build.aab --non-interactive - name: 🚀 Deploy + if: ${{ inputs.profile == 'production' }} run: eas submit -p android --non-interactive --path build.aab + + - name: ✍️ Rename bundle + if: ${{ inputs.profile != 'production' }} + run: mv build.aab build.apk + + - name: ⏰ Get a timestamp + id: timestamp + if: ${{ inputs.profile != 'production' }} + uses: nanzm/get-time-action@master + with: + format: 'MM-DD-HH-mm-ss' + + - name: 🚀 Upload Artifact + id: upload-artifact + if: ${{ inputs.profile != 'production' }} + uses: actions/upload-artifact@v4 + with: + retention-days: 30 + compression-level: 0 + name: build-${{ steps.timestamp.outputs.time }}.apk + path: build.apk + + - name: 🔔 Notify Slack + if: ${{ inputs.profile != 'production' }} + uses: slackapi/slack-github-action@v1.25.0 + with: + payload: | + { + "text": "Android build is ready for testing. Download the artifact here: ${{ steps.upload-artifact.outputs.artifact-url }}" + } + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }} + SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK diff --git a/.github/workflows/bundle-deploy-eas-update.yml b/.github/workflows/bundle-deploy-eas-update.yml index 6a815707e..a4cae0044 100644 --- a/.github/workflows/bundle-deploy-eas-update.yml +++ b/.github/workflows/bundle-deploy-eas-update.yml @@ -23,7 +23,8 @@ jobs: name: Bundle and Deploy EAS Update runs-on: ubuntu-latest outputs: - fingerprint-diff: ${{ steps.fingerprint.outputs.fingerprint-diff }} + fingerprint-is-different: ${{ steps.fingerprint-debug.outputs.fingerprint-is-different }} + steps: - name: Check for EXPO_TOKEN run: > @@ -83,9 +84,17 @@ jobs: previous-git-commit: ${{ steps.base-commit.outputs.base-commit }} - name: 👀 Debug fingerprint + id: fingerprint-debug run: | + echo "fingerprint-diff=${{ steps.fingerprint.outputs.fingerprint-diff }}" echo "previousGitCommit=${{ steps.fingerprint.outputs.previous-git-commit }} currentGitCommit=${{ steps.fingerprint.outputs.current-git-commit }}" echo "isPreviousFingerprintEmpty=${{ steps.fingerprint.outputs.previous-fingerprint == '' }}" + + if [ "${{ steps.fingerprint.outputs.fingerprint-diff }}" != '[]' ]; then + echo fingerprint-is-different="true" >> "$GITHUB_OUTPUT" + else + echo fingerprint-is-different="false" >> "$GITHUB_OUTPUT" + fi - name: 🔨 Setup EAS uses: expo/expo-github-action@v8 @@ -126,6 +135,7 @@ jobs: RUNTIME_VERSION: ${{ inputs.runtimeVersion }} CHANNEL_NAME: ${{ inputs.channel || 'testflight' }} + # GitHub actions are horrible so let's just copy paste this in buildIfNecessaryIOS: name: Build and Submit iOS @@ -133,7 +143,7 @@ jobs: needs: [bundleDeploy] # Gotta check if its NOT '[]' because any md5 hash in the outputs is detected as a possible secret and won't be # available here - if: ${{ inputs.channel != 'production' && needs.bundleDeploy.outputs.fingerprint-diff != '[]' }} + if: ${{ inputs.channel != 'production' && needs.bundleDeploy.outputs.fingerprint-is-different == 'true' }} steps: - name: Check for EXPO_TOKEN run: > @@ -198,7 +208,7 @@ jobs: needs: [ bundleDeploy ] # Gotta check if its NOT '[]' because any md5 hash in the outputs is detected as a possible secret and won't be # available here - if: ${{ inputs.channel != 'production' && needs.bundleDeploy.outputs.fingerprint-diff != '[]' }} + if: ${{ inputs.channel != 'production' && needs.bundleDeploy.outputs.fingerprint-is-different == 'true' }} steps: - name: Check for EXPO_TOKEN |