Build and publish "nightly" release artifacts #17
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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: '40 20 * * *' | |
| 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-unstable-' | |
| 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 :app: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 :app: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 :app: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 }} | |
| body: Install at your own risk! These unstable "nightly" builds are generated once a day from the current main branch. | |
| generate_release_notes: true |