chore(deps): bump pro_image_editor from 11.6.0 to 11.11.0 (#267) #117
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Magic Epaper Push CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| ANDROID_EMULATOR_API: 34 | |
| ANDROID_EMULATOR_ARCH: x86_64 | |
| IPHONE_DEVICE_MODEL: iPhone 16 Pro Max | |
| IPAD_DEVICE_MODEL: iPad Pro 13-inch (M4) | |
| jobs: | |
| common: | |
| name: Common Build | |
| runs-on: ubuntu-latest | |
| outputs: | |
| VERSION_NAME: ${{ steps.flutter-version.outputs.VERSION_NAME }} | |
| VERSION_CODE: ${{ steps.flutter-version.outputs.VERSION_CODE }} | |
| steps: | |
| - name: Checkout main | |
| uses: actions/checkout@v4 | |
| - name: Common Workflow | |
| uses: ./.github/actions/common | |
| - name: Hydrate and Update Version | |
| id: flutter-version | |
| run: | | |
| git config --global user.name "github-actions[bot]" | |
| git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" | |
| # Get commit message | |
| commit_message=$(git log -1 --pretty=format:"%s") | |
| git clone --branch=version https://${{ github.repository_owner }}:${{ github.token }}@github.com/${{ github.repository }} version | |
| cd version | |
| # Read and increment version name | |
| IFS='.' read -r major minor patch < versionName.txt | |
| if [[ "$commit_message" =~ ^feat: ]]; then | |
| next_minor=$((minor + 1)) | |
| next_patch=0 | |
| else | |
| next_minor=$((minor)) | |
| next_patch=$((patch + 1)) | |
| fi | |
| next_version_name="$major.$next_minor.$next_patch" | |
| echo "VERSION_NAME=$next_version_name" >> $GITHUB_OUTPUT | |
| echo "$next_version_name" > versionName.txt | |
| # Read and increment version code | |
| read -r version_code < versionCode.txt | |
| new_version_code=$((version_code + 1)) | |
| echo "VERSION_CODE=$new_version_code" >> $GITHUB_OUTPUT | |
| echo "$new_version_code" > versionCode.txt | |
| # Force push to version branch | |
| git checkout --orphan temporary | |
| git add --all . | |
| git commit -am "[Auto] Update versionName: $next_version_name & versionCode: $new_version_code ($(date +%Y-%m-%d.%H:%M:%S))" | |
| git branch -D version | |
| git branch -m version | |
| git push --force origin version | |
| android: | |
| name: Android Flutter Build | |
| needs: common | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Prepare Build Keys | |
| if: ${{ github.repository == 'fossasia/magic-epaper-app' }} | |
| env: | |
| ENCRYPTED_F10B5E0E5262_IV: ${{ secrets.ENCRYPTED_F10B5E0E5262_IV }} | |
| ENCRYPTED_F10B5E0E5262_KEY: ${{ secrets.ENCRYPTED_F10B5E0E5262_KEY }} | |
| run: | | |
| bash scripts/prep-android-key.sh | |
| - name: Android Workflow | |
| uses: ./.github/actions/android | |
| with: | |
| STORE_PASS: ${{ secrets.STORE_PASS }} | |
| ALIAS: ${{ secrets.ALIAS }} | |
| KEY_PASS: ${{ secrets.KEY_PASS }} | |
| VERSION_NAME: ${{needs.common.outputs.VERSION_NAME}} | |
| VERSION_CODE: ${{needs.common.outputs.VERSION_CODE}} | |
| - name: Upload APK | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: APK Generated | |
| path: build/app/outputs/flutter-apk | |
| - name: Upload AAB Release | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: AAB Generated | |
| path: build/app/outputs/bundle | |
| - name: Upload APK/AAB to app branch | |
| if: ${{ github.repository == 'fossasia/magic-epaper-app' }} | |
| run: | | |
| git config --global user.name "github-actions[bot]" | |
| git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" | |
| git clone --branch=app https://${{ github.repository_owner }}:${{ github.token }}@github.com/${{ github.repository }} app | |
| cd app | |
| branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}} | |
| echo "Removing previous files from branch" | |
| rm -rf magic-epaper-$branch* | |
| ls | |
| echo "Copying new build files" | |
| find ../build/app/outputs/flutter-apk -type f \( -name '*release.apk' -o -name '*release.aab' \) -exec cp -v {} . \; | |
| find ../build/app/outputs/bundle -type f \( -name '*release.apk' -o -name '*release.aab' \) -exec cp -v {} . \; | |
| ls | |
| echo "Renaming new build files" | |
| for file in app*; do | |
| mv $file magic-epaper-$branch-${file#*-} | |
| done | |
| ls | |
| echo "Pushing to app branch" | |
| git checkout --orphan temporary | |
| git add --all . | |
| git commit -am "[Auto] Update APK/AAB's from $branch ($(date +%Y-%m-%d.%H:%M:%S))" | |
| git branch -D app | |
| git branch -m app | |
| git push --force origin app | |
| - name: Push app in open testing track | |
| if: ${{ github.repository == 'fossasia/magic-epaper-app' }} | |
| run: | | |
| cd ./android | |
| git clone --branch=fastlane-android --depth=1 https://${{ github.repository_owner }}:${{ github.token }}@github.com/${{ github.repository }} fastlane | |
| fastlane uploadToOpenTesting | |
| if [[ $? -ne 0 ]]; then | |
| exit 1 | |
| fi | |
| ios: | |
| name: iOS Flutter Build | |
| needs: common | |
| runs-on: macos-latest | |
| steps: | |
| - name: Set up Xcode | |
| uses: maxim-lobanov/[email protected] | |
| with: | |
| xcode-version: latest-stable | |
| - uses: actions/checkout@v4 | |
| - name: Prepare Build Keys | |
| if: ${{ github.repository == 'fossasia/magic-epaper-app' }} | |
| env: | |
| ENCRYPTED_IOS_IV: ${{ secrets.ENCRYPTED_IOS_IV }} | |
| ENCRYPTED_IOS_KEY: ${{ secrets.ENCRYPTED_IOS_KEY }} | |
| run: | | |
| bash scripts/prep-ios-key.sh | |
| - name: Setup Certs | |
| if: ${{ github.repository == 'fossasia/magic-epaper-app' }} | |
| env: | |
| MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | |
| MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }} | |
| run: | | |
| cd ./ios | |
| git clone --branch=fastlane-ios --depth=1 https://${{ github.repository_owner }}:${{ github.token }}@github.com/${{ github.repository }} fastlane | |
| fastlane setupCertificates | |
| if [[ $? -ne 0 ]]; then | |
| exit 1 | |
| fi | |
| - name: iOS Workflow | |
| uses: ./.github/actions/ios | |
| with: | |
| VERSION_NAME: ${{needs.common.outputs.VERSION_NAME}} | |
| VERSION_CODE: ${{needs.common.outputs.VERSION_CODE}} | |
| - name: Push app to testflight | |
| if: ${{ github.repository == 'fossasia/magic-epaper-app' }} | |
| run: | | |
| cd ./ios | |
| fastlane uploadToBeta | |
| if [[ $? -ne 0 ]]; then | |
| exit 1 | |
| fi | |
| update-release: | |
| name: Update Draft Release | |
| needs: [common, android, ios] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download repository | |
| uses: actions/checkout@v4 | |
| - name: Run Release Drafter | |
| id: run-release-drafter | |
| uses: release-drafter/release-drafter@v6 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| version: ${{ needs.common.outputs.VERSION_NAME }} | |
| - name: Create and Upload Assets | |
| run: | | |
| echo "${{ needs.common.outputs.VERSION_CODE }}" > ./versionCode.txt | |
| git clone --branch=app https://${{ github.repository_owner }}:${{ github.token }}@github.com/${{ github.repository }} app | |
| gh release upload ${{ steps.run-release-drafter.outputs.tag_name }} app/magic-epaper-main-release.apk ./versionCode.txt --clobber | |
| screenshots-android: | |
| name: Screenshots (Android) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Android Screenshot Workflow | |
| uses: ./.github/actions/screenshot-android | |
| with: | |
| ANDROID_EMULATOR_API: ${{ env.ANDROID_EMULATOR_API }} | |
| ANDROID_EMULATOR_ARCH: ${{ env.ANDROID_EMULATOR_ARCH }} | |
| screenshots-iphone: | |
| name: Screenshots (iPhone) | |
| runs-on: macos-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Set up Xcode | |
| uses: maxim-lobanov/[email protected] | |
| with: | |
| xcode-version: latest-stable | |
| - uses: actions/checkout@v4 | |
| - name: iPhone Screenshot Workflow | |
| uses: ./.github/actions/screenshot-iphone | |
| with: | |
| IPHONE_DEVICE_MODEL: ${{ env.IPHONE_DEVICE_MODEL }} | |
| screenshots-ipad: | |
| name: Screenshots (iPad) | |
| runs-on: macos-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Set up Xcode | |
| uses: maxim-lobanov/[email protected] | |
| with: | |
| xcode-version: latest-stable | |
| - uses: actions/checkout@v4 | |
| - name: iPad Screenshot Workflow | |
| uses: ./.github/actions/screenshot-ipad | |
| with: | |
| IPAD_DEVICE_MODEL: ${{ env.IPAD_DEVICE_MODEL }} |