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 type: boolean
jobs: jobs:
build: job_armv8:
runs-on: macos-latest runs-on: macos-latest
steps: steps:
- name: Checkout repo - name: Checkout repo
@ -26,11 +26,96 @@ jobs:
- name: Grant execute permission for gradlew - name: Grant execute permission for gradlew
run: chmod +x gradlew run: chmod +x gradlew
- name: Clean Gradle Cache - name: Build all
run: ./gradlew clean 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 - 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 - name: Build Version
run: ./gradlew getVersion run: ./gradlew getVersion
@ -47,44 +132,65 @@ jobs:
- name: Rename APK files - name: Rename APK files
run: | 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 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 - name: Upload universal
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: snapenhance-universal-debug name: snapenhance-universal-debug
path: app/build/outputs/apk/all/debug/*.apk path: app/build/outputs/apk/all/debug/*.apk
- name: CI Upload armv8 job_manager:
if: ${{ inputs.ci_upload }} runs-on: ubuntu-latest
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 }}" steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: CI Upload armv7 - name: set up JDK 17
if: ${{ inputs.ci_upload }} uses: actions/setup-java@v4
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 }}" 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