name : Android build PR
on :
pull_request_target :
branches :
- fork
jobs :
run-build :
runs-on : ubuntu-latest
if : "! contains(toJSON(github.event.pull_request.title), '[skip ci]')"
steps :
- name : Checkout repository
uses : actions/checkout@v2
with :
fetch-depth : 0
- name : Setup Java
uses : actions/setup-java@v1
with :
java-version : 11
- name : Create version name
run : echo "::set-env name=VERSION_NAME::$(git describe --tags HEAD)"
- name : Build forkRelease variant of app
uses : eskatos/gradle-command-action@v1
with :
wrapper-cache-enabled : true
dependencies-cache-enabled : true
configuration-cache-enabled : true
arguments : assembleForkRelease -PversionName=${{ env.VERSION_NAME }}
- name : Create signed APKs
uses : abhijitvalluri/sign-apks@v0.6
with :
releaseDirectory : app/build/outputs/apk/forkRelease/
signingKeyBase64 : ${{ secrets.DEBUG_SIGNING_KEY }}
alias : ${{ secrets.DEBUG_ALIAS }}
keyStorePassword : ${{ secrets.DEBUG_KEY_STORE_PASSWORD }}
keyPassword : ${{ secrets.DEBUG_KEY_PASSWORD }}
- name : Archive arm64 apk
uses : actions/upload-artifact@v2
with :
name : app-arm64-v8a-forkRelease.apk
path : app/build/outputs/apk/forkRelease/app-arm64-v8a-forkRelease.apk
- name : Archive armeabi apk
uses : actions/upload-artifact@v2
with :
name : app-armeabi-v7a-forkRelease.apk
path : app/build/outputs/apk/forkRelease/app-armeabi-v7a-forkRelease.apk
- name : Archive x86 apk
uses : actions/upload-artifact@v2
with :
name : app-x86-forkRelease.apk
path : app/build/outputs/apk/forkRelease/app-x86-forkRelease.apk
- name : Archive x86_64 apk
uses : actions/upload-artifact@v2
with :
name : app-x86_64-forkRelease.apk
path : app/build/outputs/apk/forkRelease/app-x86_64-forkRelease.apk
- name : Comment on PR with link to checks page
uses : mshick/add-pr-comment@v1
with :
message : |
### Download the built apks
You can download the apks built by Github actions after the CI checks pass.
Please go to the <a href="${{ github.event.pull_request.html_url }}/checks">checks page for this PR</a> to find the zipped apk files under the artifacts drop-down, as seen in the example screenshot below.
<img src="https://raw.githubusercontent.com/fork-maintainers/iceraven-browser/fork/.github/imgs/download-artifacts-screenshot.png" />
repo-token : ${{ secrets.GITHUB_TOKEN }}
allow-repeats : false
run-testDebug :
runs-on : ubuntu-latest
if : "! contains(toJSON(github.event.pull_request.title), '[skip ci]')"
steps :
- name : Checkout repository
uses : actions/checkout@v2
- name : Setup Java
uses : actions/setup-java@v1
with :
java-version : 11
- name : Run tests
uses : eskatos/gradle-command-action@v1
with :
wrapper-cache-enabled : true
dependencies-cache-enabled : true
configuration-cache-enabled : true
arguments : testDebug
run-detekt :
runs-on : ubuntu-latest
if : "! contains(toJSON(github.event.pull_request.title), '[skip ci]')"
steps :
- name : Checkout repository
uses : actions/checkout@v2
- name : Setup Java
uses : actions/setup-java@v1
with :
java-version : 11
- name : Run detekt
uses : eskatos/gradle-command-action@v1
with :
wrapper-cache-enabled : true
dependencies-cache-enabled : true
configuration-cache-enabled : true
arguments : detekt
- name : Archive detekt results
uses : actions/upload-artifact@v2
with :
name : detekt report
path : build/reports/detekt.html
run-ktlint :
runs-on : ubuntu-latest
if : "! contains(toJSON(github.event.pull_request.title), '[skip ci]')"
steps :
- name : Checkout repository
uses : actions/checkout@v2
- name : Setup Java
uses : actions/setup-java@v1
with :
java-version : 11
- name : Run ktlint
uses : eskatos/gradle-command-action@v1
with :
wrapper-cache-enabled : true
dependencies-cache-enabled : true
configuration-cache-enabled : true
arguments : ktlint
run-lintDebug :
runs-on : ubuntu-latest
if : "! contains(toJSON(github.event.pull_request.title), '[skip ci]')"
steps :
- name : Checkout repository
uses : actions/checkout@v2
- name : Setup Java
uses : actions/setup-java@v1
with :
java-version : 11
- name : Run lintDebug
uses : eskatos/gradle-command-action@v1
with :
wrapper-cache-enabled : true
dependencies-cache-enabled : true
configuration-cache-enabled : true
arguments : lintDebug
- name : Archive lint results
uses : actions/upload-artifact@v2
with :
name : lintDebug report
path : app/build/reports/lint-results-debug.html