From a45043424e7200c90b4b29fe6d6a74f51caf4be2 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Sun, 25 Jun 2023 13:31:54 +0200 Subject: [PATCH 1/6] Use act runner --- .drone.yml | 89 ------------------------------ .gitea/workflows/buildAndroid.yaml | 16 ++++++ 2 files changed, 16 insertions(+), 89 deletions(-) delete mode 100644 .drone.yml create mode 100644 .gitea/workflows/buildAndroid.yaml diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index 195de40..0000000 --- a/.drone.yml +++ /dev/null @@ -1,89 +0,0 @@ ---- -kind: pipeline -type: docker -name: Android - -steps: -- name: prepare signing - image: busybox - environment: - STOREPASSWORD: - from_secret: StorePassword - KEYPASSWORD: - from_secret: KeyPassword - commands: - - touch keystore.properties - - echo "storePassword=$STOREPASSWORD" >> keystore.properties - - echo "keyPassword=$KEYPASSWORD" >> keystore.properties - - echo "keyAlias=key0" >> keystore.properties - - echo "storeFile=../AndroidKey" >> keystore.properties - -- name: generate versionCode - image: busybox - commands: - - touch version.properties - - let timestamp=$(date +%s)/10 - - echo "versionCode=$timestamp" >> version.properties - -- name: build - image: mingc/android-build-box - commands: - - ./gradlew test - - ./gradlew assembleRelease - - ./gradlew bundleRelease - -- name: upload latest apk - image: vividboarder/drone-webdav - settings: - file: app/build/outputs/apk/release/app-release.apk - destination: https://nextcloud.zobrist.me/remote.php/dav/files/deploy/TichuCounter/latest/app-release.apk - username: - from_secret: NextCloudUser - password: - from_secret: NextCloudPassword - -- name: upload latest bundle - image: vividboarder/drone-webdav - settings: - file: app/build/outputs/bundle/release/app-release.aab - destination: https://nextcloud.zobrist.me/remote.php/dav/files/deploy/TichuCounter/latest/app-release.aab - username: - from_secret: NextCloudUser - password: - from_secret: NextCloudPassword - -- name: upload tagged apk - image: vividboarder/drone-webdav - settings: - file: app/build/outputs/apk/release/app-release.apk - destination: 'https://nextcloud.zobrist.me/remote.php/dav/files/deploy/TichuCounter/tagged/app-release$DRONE_TAG.apk' - username: - from_secret: NextCloudUser - password: - from_secret: NextCloudPassword - when: - event: - - tag - -- name: upload tagged bundle - image: vividboarder/drone-webdav - settings: - file: app/build/outputs/bundle/release/app-release.aab - destination: 'https://nextcloud.zobrist.me/remote.php/dav/files/deploy/TichuCounter/tagged/app-release$DRONE_TAG.aab' - username: - from_secret: NextCloudUser - password: - from_secret: NextCloudPassword - when: - event: - - tag - -- name: slack notification - image: plugins/slack - settings: - webhook: - from_secret: SlackWebhook - when: - status: - - failure - - success \ No newline at end of file diff --git a/.gitea/workflows/buildAndroid.yaml b/.gitea/workflows/buildAndroid.yaml new file mode 100644 index 0000000..d9e3168 --- /dev/null +++ b/.gitea/workflows/buildAndroid.yaml @@ -0,0 +1,16 @@ +name: Build Android +on: [pull_request, push] +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout the code + uses: actions/checkout@v2 + - name: set up JDK + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + cache: gradle + - name: Build the app + run: ./gradlew build \ No newline at end of file -- 2.49.1 From 81c540c2a5d8b147930d515da8dd5a5eb7886354 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Sun, 25 Jun 2023 19:51:40 +0200 Subject: [PATCH 2/6] Add signing and version code. --- .gitea/workflows/buildAndroid.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.gitea/workflows/buildAndroid.yaml b/.gitea/workflows/buildAndroid.yaml index d9e3168..a40e301 100644 --- a/.gitea/workflows/buildAndroid.yaml +++ b/.gitea/workflows/buildAndroid.yaml @@ -6,11 +6,27 @@ jobs: steps: - name: Checkout the code uses: actions/checkout@v2 + - name: set up JDK uses: actions/setup-java@v3 with: java-version: '17' distribution: 'temurin' cache: gradle + + - name: Prepare signing + run: | + touch keystore.properties + echo "storePassword=$STOREPASSWORD" >> keystore.properties + echo "keyPassword=$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: Build the app run: ./gradlew build \ No newline at end of file -- 2.49.1 From 4f87321e2cf0b54de44c755deb7116cc7e6dd520 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Wed, 28 Jun 2023 17:25:48 +0200 Subject: [PATCH 3/6] Use android build box iamge. --- .gitea/workflows/buildAndroid.yaml | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/.gitea/workflows/buildAndroid.yaml b/.gitea/workflows/buildAndroid.yaml index a40e301..8b98d59 100644 --- a/.gitea/workflows/buildAndroid.yaml +++ b/.gitea/workflows/buildAndroid.yaml @@ -2,23 +2,16 @@ name: Build Android on: [pull_request, push] jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-latest-android steps: - name: Checkout the code uses: actions/checkout@v2 - - name: set up JDK - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - cache: gradle - - name: Prepare signing run: | touch keystore.properties - echo "storePassword=$STOREPASSWORD" >> keystore.properties - echo "keyPassword=$KEYPASSWORD" >> keystore.properties + echo "storePassword=${{ secrets.STOREPASSWORD }}" >> keystore.properties + echo "keyPassword=${{ secrets.KEYPASSWORD }}" >> keystore.properties echo "keyAlias=key0" >> keystore.properties echo "storeFile=../AndroidKey" >> keystore.properties @@ -28,5 +21,11 @@ jobs: let timestamp=$(date +%s)/10 echo "versionCode=$timestamp" >> version.properties - - name: Build the app - run: ./gradlew build \ No newline at end of file + - name: Test the app + run: ./gradlew test + + - name: Build apk + run: ./gradlew assembleRelease + + - name: Build abb + run: ./gradlew bundleRelease \ No newline at end of file -- 2.49.1 From ceebe92f8bb8f0e0ee5bad9cac7d73285f86e92f Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Fri, 30 Jun 2023 10:47:19 +0200 Subject: [PATCH 4/6] Deploy latest to nextcloud. --- .gitea/workflows/buildAndroid.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/buildAndroid.yaml b/.gitea/workflows/buildAndroid.yaml index 8b98d59..3871a80 100644 --- a/.gitea/workflows/buildAndroid.yaml +++ b/.gitea/workflows/buildAndroid.yaml @@ -28,4 +28,10 @@ jobs: run: ./gradlew assembleRelease - name: Build abb - run: ./gradlew bundleRelease \ No newline at end of file + run: ./gradlew bundleRelease + + - name: Deploy latest to Nextcloud + run: | + curl -k -u "${{ secrets.NEXTCLOUD_USERNAME }}:${{ secrets.NEXTCLOUD_PASSWORD }}" -T "app/build/outputs/apk/release/app-release.apk" "https://nextcloud.zobrist.me/remote.php/dav/files/deploy/TichuCounter/latest/app-release.apk" + curl -k -u "${{ secrets.NEXTCLOUD_USERNAME }}:${{ secrets.NEXTCLOUD_PASSWORD }}" -T "app/build/outputs/bundle/release/app-release.aab" "https://nextcloud.zobrist.me/remote.php/dav/files/deploy/TichuCounter/latest/app-release.aab" + -- 2.49.1 From add100146d3e49564281719a25d847f5cc39bc64 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Fri, 30 Jun 2023 12:03:03 +0200 Subject: [PATCH 5/6] Notify on slack. --- .gitea/workflows/buildAndroid.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitea/workflows/buildAndroid.yaml b/.gitea/workflows/buildAndroid.yaml index 3871a80..12b8111 100644 --- a/.gitea/workflows/buildAndroid.yaml +++ b/.gitea/workflows/buildAndroid.yaml @@ -35,3 +35,9 @@ jobs: curl -k -u "${{ secrets.NEXTCLOUD_USERNAME }}:${{ secrets.NEXTCLOUD_PASSWORD }}" -T "app/build/outputs/apk/release/app-release.apk" "https://nextcloud.zobrist.me/remote.php/dav/files/deploy/TichuCounter/latest/app-release.apk" curl -k -u "${{ secrets.NEXTCLOUD_USERNAME }}:${{ secrets.NEXTCLOUD_PASSWORD }}" -T "app/build/outputs/bundle/release/app-release.aab" "https://nextcloud.zobrist.me/remote.php/dav/files/deploy/TichuCounter/latest/app-release.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 \ No newline at end of file -- 2.49.1 From 217370079da0a21c4c477012b3dbab53b7d4aa00 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Fri, 30 Jun 2023 12:29:32 +0200 Subject: [PATCH 6/6] Publish tagged builds. --- .gitea/workflows/buildAndroid.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitea/workflows/buildAndroid.yaml b/.gitea/workflows/buildAndroid.yaml index 12b8111..501fc60 100644 --- a/.gitea/workflows/buildAndroid.yaml +++ b/.gitea/workflows/buildAndroid.yaml @@ -35,6 +35,11 @@ jobs: curl -k -u "${{ secrets.NEXTCLOUD_USERNAME }}:${{ secrets.NEXTCLOUD_PASSWORD }}" -T "app/build/outputs/apk/release/app-release.apk" "https://nextcloud.zobrist.me/remote.php/dav/files/deploy/TichuCounter/latest/app-release.apk" curl -k -u "${{ secrets.NEXTCLOUD_USERNAME }}:${{ secrets.NEXTCLOUD_PASSWORD }}" -T "app/build/outputs/bundle/release/app-release.aab" "https://nextcloud.zobrist.me/remote.php/dav/files/deploy/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" "https://nextcloud.zobrist.me/remote.php/dav/files/deploy/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" "https://nextcloud.zobrist.me/remote.php/dav/files/deploy/TichuCounter/tagged/app-release-${GITHUB_REF_NAME##*/}.aab" + - uses: https://github.com/ravsamhq/notify-slack-action@v2 if: always() with: -- 2.49.1