Update android.yml [Will this agony ever end..?]
This commit is contained in:
parent
c82457e716
commit
e4403e9938
1 changed files with 78 additions and 53 deletions
131
.github/workflows/android.yml
vendored
131
.github/workflows/android.yml
vendored
|
@ -1,58 +1,83 @@
|
||||||
name: Build and Release
|
name: Generated APK AAB (Upload - Create Artifact To Github Action)
|
||||||
|
|
||||||
|
env:
|
||||||
|
# The name of the main module repository
|
||||||
|
main_project_module: app
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
|
||||||
branches:
|
push:
|
||||||
- master
|
branches:
|
||||||
tags:
|
- 'release/**'
|
||||||
- "v*"
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
apk:
|
build:
|
||||||
name: Generate APK
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2.4.0
|
|
||||||
- name: Setup JDK
|
|
||||||
uses: actions/setup-java@v2.5.0
|
|
||||||
with:
|
|
||||||
distribution: temurin
|
|
||||||
java-version: "17"
|
|
||||||
- name: Set execution flag for gradlew
|
|
||||||
run: chmod +x gradlew
|
|
||||||
- name: Build APK
|
|
||||||
run: bash ./gradlew assembleDebug --stacktrace
|
|
||||||
- name: Upload APK
|
|
||||||
uses: actions/upload-artifact@v1
|
|
||||||
with:
|
|
||||||
name: apk
|
|
||||||
path: app/build/outputs/apk/debug/app-debug.apk
|
|
||||||
|
|
||||||
release:
|
runs-on: ubuntu-latest
|
||||||
name: Release APK
|
|
||||||
needs: apk
|
steps:
|
||||||
runs-on: ubuntu-latest
|
- uses: actions/checkout@v3
|
||||||
steps:
|
|
||||||
- name: Download APK from build
|
# Set Current Date As Env Variable
|
||||||
uses: actions/download-artifact@v1
|
- name: Set current date as env variable
|
||||||
with:
|
run: echo "date_today=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
|
||||||
name: apk
|
|
||||||
- name: Create Release
|
# Set Repository Name As Env Variable
|
||||||
id: create_release
|
- name: Set repository name as env variable
|
||||||
uses: actions/create-release@v1
|
run: echo "repository_name=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
- name: Set Up JDK
|
||||||
with:
|
uses: actions/setup-java@v3
|
||||||
tag_name: ${{ github.run_number }}
|
with:
|
||||||
release_name: ${{ github.event.repository.name }} v${{ github.run_number }}
|
distribution: 'zulu' # See 'Supported distributions' for available options
|
||||||
- name: Upload Release APK
|
java-version: '17'
|
||||||
id: upload_release_asset
|
cache: 'gradle'
|
||||||
uses: actions/upload-release-asset@v1.0.1
|
|
||||||
env:
|
- name: Change wrapper permissions
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
run: chmod +x ./gradlew
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
# Run Tests Build
|
||||||
asset_path: apk/app-debug.apk
|
- name: Run gradle tests
|
||||||
asset_name: ${{ github.event.repository.name }}.apk
|
run: ./gradlew test
|
||||||
asset_content_type: application/zip
|
|
||||||
|
# Run Build Project
|
||||||
|
- name: Build gradle project
|
||||||
|
run: ./gradlew build
|
||||||
|
|
||||||
|
# Create APK Debug
|
||||||
|
- name: Build apk debug project (APK) - ${{ env.main_project_module }} module
|
||||||
|
run: ./gradlew assembleDebug
|
||||||
|
|
||||||
|
# Create APK Release
|
||||||
|
- name: Build apk release project (APK) - ${{ env.main_project_module }} module
|
||||||
|
run: ./gradlew assemble
|
||||||
|
|
||||||
|
# Create Bundle AAB Release
|
||||||
|
# Noted for main module build [main_project_module]:bundleRelease
|
||||||
|
- name: Build app bundle release (AAB) - ${{ env.main_project_module }} module
|
||||||
|
run: ./gradlew ${{ env.main_project_module }}:bundleRelease
|
||||||
|
|
||||||
|
# Upload Artifact Build
|
||||||
|
# Noted For Output [main_project_module]/build/outputs/apk/debug/
|
||||||
|
- name: Upload APK Debug - ${{ env.repository_name }}
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) debug generated
|
||||||
|
path: ${{ env.main_project_module }}/build/outputs/apk/debug/
|
||||||
|
|
||||||
|
# Noted For Output [main_project_module]/build/outputs/apk/release/
|
||||||
|
- name: Upload APK Release - ${{ env.repository_name }}
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) release generated
|
||||||
|
path: ${{ env.main_project_module }}/build/outputs/apk/release/
|
||||||
|
|
||||||
|
# Noted For Output [main_project_module]/build/outputs/bundle/release/
|
||||||
|
- name: Upload AAB (App Bundle) Release - ${{ env.repository_name }}
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - App bundle(s) AAB release generated
|
||||||
|
path: ${{ env.main_project_module }}/build/outputs/bundle/release/
|
||||||
|
|
Loading…
Reference in a new issue