Add Workflows and Update Dependencies #386
This file contains 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: Android CI | |
on: | |
push: | |
branches: [ "dev" ] | |
paths-ignore: | |
- '**/README.md' | |
- '.github/**' | |
pull_request: | |
branches: [ "dev" ] | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
cache: gradle | |
- name: Set up node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Install Dependencies | |
run: | | |
npm install --global yarn | |
cd ./.github/workflows | |
yarn add node-telegram-bot-api commander | |
- name: Grant execute permission for gradlew | |
run: chmod +x gradlew | |
- name: Clean Gradle Cache | |
run: ./gradlew clean | |
- name: Build with Gradle | |
run: ./gradlew assembleDebug | |
- name: Generate Version | |
run: ./gradlew getVersion | |
- name: Set Environment Variables | |
id: version-env | |
run: | | |
echo "version=$(cat app/build/version.txt)" >> $GITHUB_ENV | |
echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT | |
- name: Git branch name | |
id: git-branch-name | |
uses: EthanSK/git-branch-name-action@v1 | |
- name: Rename APK files | |
run: | | |
mv app/build/outputs/apk/armv8/debug/*.apk app/build/outputs/apk/armv8/debug/app-${{ env.version }}-armv8-${{ steps.version-env.outputs.sha_short }}.apk | |
mv app/build/outputs/apk/armv7/debug/*.apk app/build/outputs/apk/armv7/debug/app-${{ env.version }}-armv7-${{ steps.version-env.outputs.sha_short }}.apk | |
- name: Upload armv8 | |
uses: actions/upload-artifact@v3 | |
with: | |
name: app-armv8-debug | |
path: app/build/outputs/apk/armv8/debug/*.apk | |
- name: Upload armv7 | |
uses: actions/upload-artifact@v3 | |
with: | |
name: app-armv7-debug | |
path: app/build/outputs/apk/armv7/debug/*.apk | |
- name: CI Upload armv8 | |
if: github.ref_name == 'main' | |
run: node ./.github/workflows/upload.js -t "${{ secrets.TELEGRAM_BOT_TOKEN }}" -f "app/build/outputs/apk/armv8/debug/app-${{ env.version }}-armv8-${{ steps.version-env.outputs.sha_short }}.apk" --caption "A new commit has been pushed to the ${{ env.GIT_BRANCH_NAME }} branch! ${{ steps.version-env.outputs.sha_short }}" --chatid "${{ secrets.TELEGRAM_CHAT_ID }}" | |
- name: CI Upload armv7 | |
if: github.ref_name == 'main' | |
run: node ./.github/workflows/upload.js -t "${{ secrets.TELEGRAM_BOT_TOKEN }}" -f "app/build/outputs/apk/armv7/debug/app-${{ env.version }}-armv7-${{ steps.version-env.outputs.sha_short }}.apk" --chatid "${{ secrets.TELEGRAM_CHAT_ID }}" |