Build & publish snapshot release #9
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 & 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 |