Skip to content

Build & publish snapshot release #9

Build & publish snapshot release

Build & publish snapshot release #9

name: Build & publish snapshot release
# Based on https://github.com/refined-github/refined-github/blob/5cda3447bf80cca0c64ae5eb79779ecd62fec18e/.github/workflows/release.yml#L30-L32
on:
workflow_dispatch:
permissions:
contents: read
jobs:
AddTag:
permissions:
contents: write
outputs:
created: ${{ steps.daily-version.outputs.created }}
version: ${{ steps.daily-version.outputs.version }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
- uses: fregante/daily-version-action@fb1a60b7c4daf1410cd755e360ebec3901e58588 # v2.1.3
name: Tag commit unless already tagged
id: daily-version
with:
prefix: 'untested-snapshot-'
BuildSignAndUpload:
permissions:
contents: write
needs: AddTag
if: needs.AddTag.outputs.created
runs-on: self-hosted
steps:
- name: Checkout code
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
- name: Store version/tag name in shell env variable
run: echo "VERSION=${{ needs.AddTag.outputs.version }}" >> $GITHUB_ENV
- name: Setup Java
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
with:
distribution: temurin
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
- name: Assemble F-Droid APK
run: ./gradlew :app:assembleFdroidRelease --stacktrace
- name: Add Dropbox app identifier
shell: bash
run: |
echo "dropbox.app_key = \"${{ secrets.DROPBOX_APP_KEY }}\"" >> app.properties
echo "dropbox.app_key_schema = \"db-${{ secrets.DROPBOX_APP_KEY }}\"" >> app.properties
- name: Assemble "premium" APK
run: ./gradlew :app:assemblePremiumRelease --stacktrace
- name: Assemble "premium" AAB
run: ./gradlew :app:bundlePremiumRelease --stacktrace
- name: Sign F-Droid APK
run: /apksigner-user-wrapper.sh ./app/build/outputs/apk/fdroid/release/*.apk ./orgzly-revived-fdroid-${{ env.VERSION }}.apk
- name: Sign "premium" APK
run: /apksigner-user-wrapper.sh ./app/build/outputs/apk/premium/release/*.apk ./orgzly-revived-${{ env.VERSION }}.apk
- name: Sign "premium" AAB
run: /apksigner-user-wrapper.sh ./app/build/outputs/bundle/premiumRelease/*.aab ./orgzly-revived-${{ env.VERSION }}.aab
- name: Upload artifacts and create Github release
uses: softprops/action-gh-release@5be0e66d93ac7ed76da52eca8bb058f665c3a5fe # v2.4.2
with:
files: |
*.apk
*.aab
prerelease: true
tag_name: ${{ needs.AddTag.outputs.version }}
body: Install at your own risk! These untested snapshot builds are generated periodically from the current main branch (if it has changed).
generate_release_notes: true