ci: efficient building

This commit is contained in:
auth 2024-01-29 22:33:09 +01:00 committed by GitHub
parent 2d9e56b551
commit 21c4c43b5d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -8,7 +8,7 @@ on:
type: boolean
jobs:
build:
job_armv8:
runs-on: macos-latest
steps:
- name: Checkout repo
@ -26,11 +26,96 @@ jobs:
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Clean Gradle Cache
run: ./gradlew clean
- name: Build all
run: ./gradlew assembleArmv8Debug
- name: Build 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@main
- name: Rename APK file
run: |
mv app/build/outputs/apk/armv8/debug/*.apk app/build/outputs/apk/armv8/debug/snapenhance-${{ env.version }}-armv8-${{ steps.version-env.outputs.sha_short }}.apk
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: snapenhance-armv8-debug
path: app/build/outputs/apk/armv8/debug/*.apk
job_armv7:
runs-on: macos-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: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build all
run: ./gradlew assembleDebug
run: ./gradlew assembleArmv7Debug
- name: Build 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@main
- name: Rename APK file
run: |
mv app/build/outputs/apk/armv7/debug/*.apk app/build/outputs/apk/armv8/debug/snapenhance-${{ env.version }}-armv7-${{ steps.version-env.outputs.sha_short }}.apk
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: snapenhance-armv7-debug
path: app/build/outputs/apk/armv7/debug/*.apk
job_universal:
runs-on: macos-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: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build all
run: ./gradlew assembleAllDebug
- name: Build Version
run: ./gradlew getVersion
@ -47,44 +132,65 @@ jobs:
- name: Rename APK files
run: |
mv app/build/outputs/apk/armv8/debug/*.apk app/build/outputs/apk/armv8/debug/snapenhance-${{ env.version }}-armv8-${{ steps.version-env.outputs.sha_short }}.apk
mv app/build/outputs/apk/armv7/debug/*.apk app/build/outputs/apk/armv7/debug/snapenhance-${{ env.version }}-armv7-${{ steps.version-env.outputs.sha_short }}.apk
mv app/build/outputs/apk/all/debug/*.apk app/build/outputs/apk/all/debug/snapenhance-${{ env.version }}-universal-${{ steps.version-env.outputs.sha_short }}.apk
- name: Upload manager
uses: actions/upload-artifact@v4
with:
name: manager
path: manager/build/outputs/apk/debug/*.apk
- name: Upload core
uses: actions/upload-artifact@v4
with:
name: core
path: app/build/outputs/apk/core/debug/*.apk
- name: Upload armv8
uses: actions/upload-artifact@v4
with:
name: snapenhance-armv8-debug
path: app/build/outputs/apk/armv8/debug/*.apk
- name: Upload armv7
uses: actions/upload-artifact@v4
with:
name: snapenhance-armv7-debug
path: app/build/outputs/apk/armv7/debug/*.apk
- name: Upload universal
uses: actions/upload-artifact@v4
with:
name: snapenhance-universal-debug
path: app/build/outputs/apk/all/debug/*.apk
- name: CI Upload armv8
if: ${{ inputs.ci_upload }}
run: node ./.github/workflows/upload.js -t "${{ secrets.TELEGRAM_BOT_TOKEN }}" -f "app/build/outputs/apk/armv8/debug/snapenhance-${{ 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 }}"
job_manager:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: CI Upload armv7
if: ${{ inputs.ci_upload }}
run: node ./.github/workflows/upload.js -t "${{ secrets.TELEGRAM_BOT_TOKEN }}" -f "app/build/outputs/apk/armv7/debug/snapenhance-${{ env.version }}-armv7-${{ steps.version-env.outputs.sha_short }}.apk" --chatid "${{ secrets.TELEGRAM_CHAT_ID }}"
- name: set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build manager
run: ./gradlew manager:assembleDebug
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: manager
path: manager/build/outputs/apk/debug/*.apk
job_core:
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: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build manager
run: ./gradlew core:assembleDebug
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: core
path: app/build/outputs/apk/core/debug/*.apk