Created
December 6, 2019 16:07
-
-
Save alexanderbazo/227476190ef5ab655795e34ec0d314d6 to your computer and use it in GitHub Desktop.
Github Actions: Build and Release Android-APK
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: Minimal Android CI Workflow | |
on: | |
push: | |
branches: | |
- master | |
tags: | |
- 'v*' | |
jobs: | |
test: | |
name: Run Unit Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
- name: Setup JDK | |
uses: actions/setup-java@v1 | |
with: | |
java-version: 1.8 | |
- name: Run Tests | |
run: bash ./gradlew test --stacktrace | |
apk: | |
name: Generate APK | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
- name: Setup JDK | |
uses: actions/setup-java@v1 | |
with: | |
java-version: 1.8 | |
- 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: | |
name: Release APK | |
needs: apk | |
if: startsWith(github.ref, 'refs/tags/v') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download APK from build | |
uses: actions/download-artifact@v1 | |
with: | |
name: apk | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: Release ${{ github.ref }} | |
- name: Upload Release APK | |
id: upload_release_asset | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: apk/app-debug.apk | |
asset_name: MensaApp.apk | |
asset_content_type: application/zip |
where should I download the APK built by the work flow created in my project?
At the bottom of the workflow summary page, there is a dedicated section for artifacts.
I'm not sure where the apk will appear after gradle build, how can i find it ? In which build.gradle
?
Thanks so much! This helped me understand Github actions better. Just a note, on line 40 be sure the path points to your own app module. Had to change the path since my app module was not named 'app'.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is not a production-ready example ;) It's used in a programming class to show how Github Actions can be used for Continuous Intergration pipelines, not how Android apps should properly be signed and shipped.