From 3c7c7249d7387a52c5a2db5fc537a7601c2847d9 Mon Sep 17 00:00:00 2001 From: Nguyen Thai Date: Wed, 10 Jan 2024 11:42:04 +0700 Subject: [PATCH] Move scripts to a dedicated directory (cherry picked from commit df59d6ca54dc5b4bf88f3ee81c2c09cc23d925b7) --- .github/workflows/analyze-test.yaml | 13 +++++-------- .github/workflows/build.yaml | 10 ++++------ .github/workflows/gh-pages.yaml | 9 +++------ .github/workflows/release.yaml | 14 +++++--------- scripts/build-dev.sh | 4 ++++ scripts/build-release.sh | 4 ++++ scripts/build-web.sh | 4 ++++ scripts/configure-web-environment.sh | 6 ++++++ prebuild.sh => scripts/prebuild.sh | 0 scripts/setup-android.sh | 4 ++++ scripts/setup-firebase.sh | 3 +++ scripts/setup-ios.sh | 6 ++++++ scripts/test.sh | 9 +++++++++ 13 files changed, 57 insertions(+), 29 deletions(-) create mode 100755 scripts/build-dev.sh create mode 100755 scripts/build-release.sh create mode 100755 scripts/build-web.sh create mode 100755 scripts/configure-web-environment.sh rename prebuild.sh => scripts/prebuild.sh (100%) mode change 100644 => 100755 create mode 100755 scripts/setup-android.sh create mode 100755 scripts/setup-firebase.sh create mode 100755 scripts/setup-ios.sh create mode 100755 scripts/test.sh diff --git a/.github/workflows/analyze-test.yaml b/.github/workflows/analyze-test.yaml index 5ac5f2ca1..39b8a06b0 100644 --- a/.github/workflows/analyze-test.yaml +++ b/.github/workflows/analyze-test.yaml @@ -40,21 +40,18 @@ jobs: - name: Setup Firebase env env: FIREBASE_ENV: ${{ secrets.FIREBASE_ENV }} - run: echo "$FIREBASE_ENV" > ./configurations/env.fcm + run: ./scripts/setup-firebase.sh - name: Run prebuild - run: bash prebuild.sh + run: ./scripts/prebuild.sh - name: Analyze uses: zgosalvez/github-actions-analyze-dart@v1 - name: Test - run: | - if [[ "${{ matrix.modules }}" == "default" ]]; then - flutter test -r json > test-report-${{ matrix.modules }}.json - else - flutter test -r json ${{ matrix.modules }} > test-report-${{ matrix.modules }}.json - fi + env: + MODULES: ${{ matrix.modules }} + run: ./scripts/test.sh - name: Upload test reports if: success() || failure() # Always upload report diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 7a823a0db..f5c26958a 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -41,7 +41,7 @@ jobs: - name: Setup Firebase env env: FIREBASE_ENV: ${{ secrets.FIREBASE_ENV }} - run: echo "$FIREBASE_ENV" > ./configurations/env.fcm + run: ./scripts/setup-firebase.sh - name: Setup Java if: matrix.os == 'android' @@ -52,19 +52,17 @@ jobs: - name: Setup iOS environment if: matrix.os == 'ios' - run: | - flutter pub get - pod install && pod update + run: ../scripts/setup-ios.sh working-directory: ${{ matrix.os }} - name: Run prebuild - run: bash prebuild.sh + run: ./scripts/prebuild.sh - name: Build env: MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} APPLE_CERTIFICATES_SSH_KEY: ${{ secrets.APPLE_CERTIFICATES_SSH_KEY }} - run: bundle exec fastlane dev + run: ../scripts/build-dev.sh working-directory: ${{ matrix.os }} - name: Upload artifacts diff --git a/.github/workflows/gh-pages.yaml b/.github/workflows/gh-pages.yaml index dc730ca82..43f814643 100644 --- a/.github/workflows/gh-pages.yaml +++ b/.github/workflows/gh-pages.yaml @@ -30,21 +30,18 @@ jobs: cache-path: ${{ runner.tool_cache }}/flutter # optional, change this to specify the cache path - name: Run prebuild - run: bash prebuild.sh + run: ./scripts/prebuild.sh - name: Configure environments id: configure env: FOLDER: ${{ github.event.pull_request.number }} - run: | - sed -i "s|SERVER_URL=.*|SERVER_URL=https://apisix.upn.integration-open-paas.org/|g" env.file - sed -i "s|DOMAIN_REDIRECT_URL=.*|DOMAIN_REDIRECT_URL=https://$GITHUB_REPOSITORY_OWNER.github.io/${GITHUB_REPOSITORY##*/}/$FOLDER|g" env.file - echo "URL=https://$GITHUB_REPOSITORY_OWNER.github.io/${GITHUB_REPOSITORY##*/}/$FOLDER" >> $GITHUB_OUTPUT + run: ./scripts/configure-web-environment.sh - name: Build env: FOLDER: ${{ github.event.pull_request.number }} - run: flutter build web --profile --verbose --base-href "/${GITHUB_REPOSITORY##*/}/$FOLDER/" + run: ./scripts/build-web.sh - name: Deploy to Github Pages uses: peaceiris/actions-gh-pages@v3 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index c9b78fb30..627652546 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -37,7 +37,7 @@ jobs: - name: Setup Firebase env env: FIREBASE_ENV: ${{ secrets.FIREBASE_ENV }} - run: echo "$FIREBASE_ENV" > ./configurations/env.fcm + run: ./scripts/setup-firebase.sh - name: Setup Fastlane uses: ruby/setup-ruby@v1 @@ -58,20 +58,16 @@ jobs: env: PLAY_STORE_UPLOAD_KEY_BASE64: ${{ secrets.PLAY_STORE_UPLOAD_KEY_BASE64 }} PLAY_STORE_KEY_INFO_BASE64: ${{ secrets.PLAY_STORE_KEY_INFO_BASE64 }} - run: | - echo "$PLAY_STORE_UPLOAD_KEY_BASE64" | base64 --decode > app/keystore.jks - echo "$PLAY_STORE_KEY_INFO_BASE64" | base64 --decode > key.properties + run: ../scripts/setup-android.sh working-directory: ${{ matrix.os }} - name: Setup iOS environment if: matrix.os == 'ios' - run: | - flutter pub get - pod install && pod update + run: ../scripts/setup-ios.sh working-directory: ${{ matrix.os }} - name: Run prebuild - run: bash prebuild.sh + run: ./scripts/prebuild.sh - name: Build and deploy env: @@ -81,5 +77,5 @@ jobs: APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }} APPLE_KEY_ID: ${{ secrets.APPLE_KEY_ID }} APPLE_KEY_CONTENT: ${{ secrets.APPLE_KEY_CONTENT }} - run: bundle exec fastlane release + run: ../scripts/build-release.sh working-directory: ${{ matrix.os }} diff --git a/scripts/build-dev.sh b/scripts/build-dev.sh new file mode 100755 index 000000000..ce0c08da1 --- /dev/null +++ b/scripts/build-dev.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env sh + +set -eux +bundle exec fastlane dev diff --git a/scripts/build-release.sh b/scripts/build-release.sh new file mode 100755 index 000000000..c930b0e0b --- /dev/null +++ b/scripts/build-release.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env sh + +set -eux +bundle exec fastlane release diff --git a/scripts/build-web.sh b/scripts/build-web.sh new file mode 100755 index 000000000..b9e36c340 --- /dev/null +++ b/scripts/build-web.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env sh + +set -eux +flutter build web --profile --verbose --base-href "/${GITHUB_REPOSITORY##*/}/$FOLDER/" diff --git a/scripts/configure-web-environment.sh b/scripts/configure-web-environment.sh new file mode 100755 index 000000000..5ae4c708a --- /dev/null +++ b/scripts/configure-web-environment.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env sh + +set -eux +sed -i "s|SERVER_URL=.*|SERVER_URL=https://apisix.upn.integration-open-paas.org/|g" env.file +sed -i "s|DOMAIN_REDIRECT_URL=.*|DOMAIN_REDIRECT_URL=https://$GITHUB_REPOSITORY_OWNER.github.io/${GITHUB_REPOSITORY##*/}/$FOLDER|g" env.file +echo "URL=https://$GITHUB_REPOSITORY_OWNER.github.io/${GITHUB_REPOSITORY##*/}/$FOLDER" >> $GITHUB_OUTPUT diff --git a/prebuild.sh b/scripts/prebuild.sh old mode 100644 new mode 100755 similarity index 100% rename from prebuild.sh rename to scripts/prebuild.sh diff --git a/scripts/setup-android.sh b/scripts/setup-android.sh new file mode 100755 index 000000000..a538bd82a --- /dev/null +++ b/scripts/setup-android.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env sh + +echo "$PLAY_STORE_UPLOAD_KEY_BASE64" | base64 --decode > app/keystore.jks +echo "$PLAY_STORE_KEY_INFO_BASE64" | base64 --decode > key.properties diff --git a/scripts/setup-firebase.sh b/scripts/setup-firebase.sh new file mode 100755 index 000000000..f1add397b --- /dev/null +++ b/scripts/setup-firebase.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env sh + +echo "$FIREBASE_ENV" > ./configurations/env.fcm diff --git a/scripts/setup-ios.sh b/scripts/setup-ios.sh new file mode 100755 index 000000000..7fb9da105 --- /dev/null +++ b/scripts/setup-ios.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env sh + +set -eux + +flutter pub get +pod install && pod update diff --git a/scripts/test.sh b/scripts/test.sh new file mode 100755 index 000000000..1ff47381c --- /dev/null +++ b/scripts/test.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -eux + +if [[ "$MODULES" == "default" ]]; then + flutter test -r json > test-report-"$MODULES".json +else + flutter test -r json "$MODULES" > test-report-"$MODULES".json +fi