60 lines
2.5 KiB
YAML
60 lines
2.5 KiB
YAML
name: Build Android
|
|
on: [pull_request, push]
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest-android
|
|
steps:
|
|
- name: Checkout the code
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Prepare signing
|
|
run: |
|
|
touch keystore.properties
|
|
echo "storePassword=${{ secrets.STOREPASSWORD }}" >> keystore.properties
|
|
echo "keyPassword=${{ secrets.KEYPASSWORD }}" >> keystore.properties
|
|
echo "keyAlias=key0" >> keystore.properties
|
|
echo "storeFile=../AndroidKey" >> keystore.properties
|
|
|
|
- name: Generate versionCode
|
|
run: |
|
|
touch version.properties
|
|
let timestamp=$(date +%s)/10
|
|
echo "versionCode=$timestamp" >> version.properties
|
|
|
|
- name: Test the app
|
|
run: ./gradlew test
|
|
|
|
- name: Build apk
|
|
run: ./gradlew assembleRelease
|
|
|
|
- name: Build abb
|
|
run: ./gradlew bundleRelease
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: app-release.apk
|
|
retention-days: 10
|
|
path: app/build/outputs/apk/release/app-release.apk
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: app-release.aab
|
|
retention-days: 10
|
|
path: app/build/outputs/bundle/release/app-release.aab
|
|
|
|
- name: Deploy latest to Nextcloud
|
|
run: |
|
|
curl -k -u "${{ secrets.NEXTCLOUD_USERNAME }}:${{ secrets.NEXTCLOUD_PASSWORD }}" -T "app/build/outputs/apk/release/app-release.apk" "${{ secrets.NEXTCLOUD_BASE_URL }}/TichuCounter/latest/app-release.apk"
|
|
curl -k -u "${{ secrets.NEXTCLOUD_USERNAME }}:${{ secrets.NEXTCLOUD_PASSWORD }}" -T "app/build/outputs/bundle/release/app-release.aab" "${{ secrets.NEXTCLOUD_BASE_URL }}/TichuCounter/latest/app-release.aab"
|
|
|
|
- name: Deploy tagged build to Nextcloud
|
|
run: |
|
|
curl -k -u "${{ secrets.NEXTCLOUD_USERNAME }}:${{ secrets.NEXTCLOUD_PASSWORD }}" -T "app/build/outputs/apk/release/app-release.apk" "${{ secrets.NEXTCLOUD_BASE_URL }}/TichuCounter/tagged/app-release-${GITHUB_REF_NAME##*/}.apk"
|
|
curl -k -u "${{ secrets.NEXTCLOUD_USERNAME }}:${{ secrets.NEXTCLOUD_PASSWORD }}" -T "app/build/outputs/bundle/release/app-release.aab" "${{ secrets.NEXTCLOUD_BASE_URL }}/TichuCounter/tagged/app-release-${GITHUB_REF_NAME##*/}.aab"
|
|
|
|
- uses: https://github.com/ravsamhq/notify-slack-action@v2
|
|
if: always()
|
|
with:
|
|
status: ${{ job.status }} # required
|
|
env:
|
|
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required |