Skip to content

Build and publish "nightly" release artifacts #8

Build and publish "nightly" release artifacts

Build and publish "nightly" release artifacts #8

name: Build and publish "nightly" release artifacts
# Based on https://github.com/refined-github/refined-github/blob/5cda3447bf80cca0c64ae5eb79779ecd62fec18e/.github/workflows/release.yml#L30-L32
on:
schedule:
- cron: '15 * * * *'
workflow_dispatch:
permissions:
contents: write
jobs:
AddTag:
outputs:
created: ${{ steps.daily-version.outputs.created }}
version: ${{ steps.daily-version.outputs.version }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: fregante/daily-version-action@v2
name: Tag commit unless already tagged
id: daily-version
with:
prefix: 'nightly-'
BuildAndRelease:
needs: AddTag
if: github.event_name == 'workflow_dispatch' || needs.AddTag.outputs.created
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- 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@v4
with:
distribution: temurin
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Setup build tool version variable
shell: bash
run: |
BUILD_TOOL_VERSION=$(ls /usr/local/lib/android/sdk/build-tools/ | tail -n 1)
echo "BUILD_TOOL_VERSION=$BUILD_TOOL_VERSION" >> $GITHUB_ENV
echo Last build tool version is: $BUILD_TOOL_VERSION
# F-Droid APK
- name: Assemble F-Droid APK
run: ./gradlew assembleFdroidRelease --stacktrace
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# - name: Sign F-Droid APK
# uses: r0adkll/sign-android-release@v1
# id: sign_fdroid_apk
# with:
# releaseDirectory: app/build/outputs/apk/fdroid/release
# signingKeyBase64: ${{ secrets.APK_SIGNING_KEYSTORE_FILE }}
# alias: orgzly-revived-20231013
# keyStorePassword: ${{ secrets.APK_SIGNING_KEYSTORE_PASSWORD }}
# env:
# BUILD_TOOLS_VERSION: ${{ env.BUILD_TOOL_VERSION }}
# - name: Rename F-Droid APK file
# run: mv ${{steps.sign_fdroid_apk.outputs.signedReleaseFile}} orgzly-revived-fdroid-${{ env.VERSION }}.apk
# "Premium" APK
- 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 assemblePremiumRelease --stacktrace
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# - name: Sign "premium" APK
# uses: r0adkll/sign-android-release@v1
# id: sign_premium_apk
# with:
# releaseDirectory: app/build/outputs/apk/premium/release
# signingKeyBase64: ${{ secrets.APK_SIGNING_KEYSTORE_FILE }}
# alias: orgzly-revived-20231013
# keyStorePassword: ${{ secrets.APK_SIGNING_KEYSTORE_PASSWORD }}
# env:
# BUILD_TOOLS_VERSION: ${{ env.BUILD_TOOL_VERSION }}
# - name: Rename "premium" APK file
# run: mv ${{steps.sign_premium_apk.outputs.signedReleaseFile}} orgzly-revived-${{ env.VERSION }}.apk
# "Premium" AAB
- name: Assemble "premium" AAB
run: ./gradlew bundlePremiumRelease --stacktrace
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# - name: Sign "premium" AAB
# uses: r0adkll/sign-android-release@v1
# id: sign_premium_aab
# with:
# releaseDirectory: app/build/outputs/bundle/premiumRelease
# signingKeyBase64: ${{ secrets.APK_SIGNING_KEYSTORE_FILE }}
# alias: orgzly-revived-20231013
# keyStorePassword: ${{ secrets.APK_SIGNING_KEYSTORE_PASSWORD }}
# env:
# BUILD_TOOLS_VERSION: ${{ env.BUILD_TOOL_VERSION }}
# - name: Rename "premium" AAB file
# run: mv ${{steps.sign_premium_aab.outputs.signedReleaseFile}} orgzly-revived-${{ env.VERSION }}.aab
- name: Upload artifacts and create Github release
uses: softprops/action-gh-release@v2
with:
files: |
**/*.apk
**/*.aab
make_latest: false
tag_name: ${{ needs.AddTag.outputs.version }}