From f57922314e935e154f45d2645a1ffba6e9da3f31 Mon Sep 17 00:00:00 2001 From: Reza Mousavi Date: Mon, 24 Jun 2024 17:17:36 +0330 Subject: [PATCH] update workflows --- .github/workflows/android.yml | 5 ++- .github/workflows/gradle-wrapper-update.yml | 39 +++++++++++++++++++++ .github/workflows/nightly-build.yml | 20 +++++------ .github/workflows/telegram-notify.yml | 39 +++++++++++++++++++++ 4 files changed, 89 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/gradle-wrapper-update.yml create mode 100644 .github/workflows/telegram-notify.yml diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 0bcf1df9..67651ac1 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -9,6 +9,7 @@ jobs: steps: - uses: actions/checkout@v4 + - name: set up JDK uses: actions/setup-java@v4 with: @@ -19,9 +20,6 @@ jobs: - name: Setup Android SDK uses: android-actions/setup-android@v3 - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 - - name: Run android lint run: ./gradlew lint @@ -36,3 +34,4 @@ jobs: - name: Build Debug run: ./gradlew assembleDebug + diff --git a/.github/workflows/gradle-wrapper-update.yml b/.github/workflows/gradle-wrapper-update.yml new file mode 100644 index 00000000..3d504107 --- /dev/null +++ b/.github/workflows/gradle-wrapper-update.yml @@ -0,0 +1,39 @@ +name: Gradle wrapper update + +on: + workflow_dispatch: # to run the workflow manually if needed + schedule: + - cron: '0 12 * * *' + +jobs: + update: + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up JDK + uses: actions/setup-java@v4 + with: + java-version: '22' + distribution: 'temurin' + cache: gradle + + - name: Upgrade gradle wrapper + run: | + ./gradlew wrapper --gradle-version latest + ./gradlew wrapper --gradle-version latest + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v6 + with: + title: 'Upgrade Gradle version' + body: '' + delete-branch: false + branch: 'upgrade-gradle-version' + commit-message: 'upgrade gradle version' + diff --git a/.github/workflows/nightly-build.yml b/.github/workflows/nightly-build.yml index 8381b59a..e4f7ccc6 100644 --- a/.github/workflows/nightly-build.yml +++ b/.github/workflows/nightly-build.yml @@ -50,9 +50,6 @@ jobs: - name: Setup Android SDK uses: android-actions/setup-android@v3 - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 - - name: Run android lint run: ./gradlew lint @@ -80,12 +77,13 @@ jobs: ANDROID_NIGHTLY_KEYSTORE_ALIAS: ${{ secrets.ANDROID_NIGHTLY_KEYSTORE_ALIAS }} run: ./gradlew assembleNightly - - name: Get apk file path - id: apkFile - run: echo "apkfile=$(find app/build/outputs/apk/nightly/*.apk)" >> $GITHUB_OUTPUT + - name: Send apk to telegram + run: | + mv $(find . -type f -iname *.apk) banafsh-nightly.apk + apk_path="banafsh-nightly.apk" + curl https://api.telegram.org/bot${{ secrets.TELEGRAM_TOKEN }}/sendDocument \ + -F chat_id=${{ secrets.TELEGRAM_CHAT_ID }} \ + -F "caption=Size: $(ls -l --block-size=K "$apk_path" | awk '{ print $5 }')" \ + -F parse_mode=HTML \ + -F document=@"$apk_path" - - name: Upload Nightly Build to Artifacts - uses: actions/upload-artifact@v4 - with: - name: banafsh-nightly.apk - path: ${{ steps.apkFile.outputs.apkfile }} diff --git a/.github/workflows/telegram-notify.yml b/.github/workflows/telegram-notify.yml new file mode 100644 index 00000000..f89710c2 --- /dev/null +++ b/.github/workflows/telegram-notify.yml @@ -0,0 +1,39 @@ +name: Notify + +permissions: + contents: read + +on: + push: + branches: + - master + +jobs: + notify: + name: Notify via Telegram + runs-on: ubuntu-latest + steps: + - name: Notify + env: + COMMITS: ${{ toJson(github.event.commits) }} + TEMPLATE: '.[] | "\(.id[:8])\(.author.username | @html) + + \(.message | gsub("(?[<>&\"])"; .a|@html)) + + "' + run: | + ( + printf '🎧 Banafsh\n\n' + printenv COMMITS | jq -r "$TEMPLATE" + printf '🆔: @iamrezamousaviapp' + ) | \ + jq -R --slurp '{ + text: ., + disable_web_page_preview: true, + chat_id: "${{ secrets.TELEGRAM_CHAT_ID }}", + parse_mode: "HTML" + }' | \ + curl -X POST https://api.telegram.org/bot${{ secrets.TELEGRAM_TOKEN }}/sendMessage \ + -H 'Content-Type: application/json' \ + --data-binary @- +