44 workflow_call :
55 workflow_dispatch :
66 inputs :
7+ pointRelease :
8+ type : boolean
9+ description : Bump minor versionName (e.g. 21.0 -> 21.1) for a point release
10+ skipBetaBump :
11+ type : boolean
12+ description : Skip version bump (beta)
713 skipThunderbird :
814 type : boolean
915 description : Skip building Thunderbird
1319 skipTests :
1420 type : boolean
1521 description : Skip running tests
16- skipBetaBump :
17- type : boolean
18- description : Skip version bump (beta)
1922 skipGooglePlay :
2023 type : boolean
2124 description : Skip Google Play publish
@@ -73,10 +76,11 @@ jobs:
7376 env :
7477 matrixInclude : ${{ vars.MATRIX_INCLUDE }}
7578 releaseType : ${{ vars.RELEASE_TYPE }}
79+ pointRelease : ${{ inputs.pointRelease }}
80+ skipBetaBump : ${{ inputs.skipBetaBump }}
7681 skipThunderbird : ${{ inputs.skipThunderbird }}
7782 skipK9Mail : ${{ inputs.skipK9Mail }}
7883 skipTests : ${{ inputs.skipTests }}
79- skipBetaBump : ${{ inputs.skipBetaBump }}
8084 skipGooglePlay : ${{ inputs.skipGooglePlay }}
8185 draftGooglePlay : ${{ inputs.draftGooglePlay }}
8286 skipFtp : ${{ inputs.skipFtp }}
@@ -125,6 +129,12 @@ jobs:
125129 ])
126130 .write();
127131
132+ if (process.env.pointRelease == "true" && process.env.releaseType == "release") {
133+ await core.summary.addList(["Point release: minor versionName will be bumped"]).write();
134+ }
135+ if (process.env.skipBetaBump == "true" && process.env.releaseType == "beta") {
136+ await core.summary.addList(["Beta bump is being skipped"]).write();
137+ }
128138 if (skipThunderbird) {
129139 await core.summary.addList(["Thunderbird build is being skipped"]).write();
130140 }
@@ -134,9 +144,6 @@ jobs:
134144 if (process.env.skipTests == "true") {
135145 await core.summary.addList(["Tests are being skipped"]).write();
136146 }
137- if (process.env.skipBetaBump == "true" && process.env.releaseType == "beta") {
138- await core.summary.addList(["Beta bump is being skipped"]).write();
139- }
140147 if (process.env.skipGooglePlay == "true") {
141148 await core.summary.addList(["Play Store upload is being skipped"]).write();
142149 }
@@ -314,6 +321,24 @@ jobs:
314321
315322 cat $GITHUB_OUTPUT
316323
324+ - name : Bump version name (point release)
325+ id : bump_version_name
326+ if : ${{ inputs.pointRelease && contains(matrix.releaseTarget, 'github') && vars.RELEASE_TYPE == 'release' }}
327+ shell : bash
328+ env :
329+ APP_NAME : ${{ matrix.appName }}
330+ OLD_VERSION_NAME : ${{ steps.appinfo.outputs.VERSION_NAME }}
331+ run : |
332+ NEW_VERSION_NAME=$(echo "$OLD_VERSION_NAME" | awk -F '.' '{print $1"."$2+1}')
333+ sed "s/versionName = \"$OLD_VERSION_NAME\"/versionName = \"$NEW_VERSION_NAME\"/" app-${APP_NAME}/build.gradle.kts > tmp_gradle_kts
334+
335+ ! diff -u app-${APP_NAME}/build.gradle.kts tmp_gradle_kts # flip return value to force error if no bump
336+ mv tmp_gradle_kts app-${APP_NAME}/build.gradle.kts
337+
338+ echo "VERSION_NAME=${NEW_VERSION_NAME}" >> $GITHUB_OUTPUT
339+
340+ cat $GITHUB_OUTPUT
341+
317342 - name : Render Release Notes
318343 id : render_notes
319344 if : " ${{ contains(matrix.releaseTarget, 'github') && contains(fromJSON('[\" beta\" , \" release\" ]'), needs.dump_config.outputs.releaseType) }}"
@@ -323,7 +348,7 @@ jobs:
323348 APPLICATION_ID : ${{ steps.appinfo.outputs.APPLICATION_ID }}
324349 APPLICATION_LABEL : ${{ steps.appinfo.outputs.APPLICATION_LABEL }}
325350 VERSION_CODE : ${{ steps.new_version_code.outputs.new_version_code }}
326- FULL_VERSION_NAME : ${{ steps.appinfo.outputs.VERSION_NAME }}${{ steps.bump_version_suffix.outputs.SUFFIX || steps.appinfo.outputs.VERSION_NAME_SUFFIX }}
351+ FULL_VERSION_NAME : ${{ steps.bump_version_name.outputs.VERSION_NAME || steps. appinfo.outputs.VERSION_NAME }}${{ steps.bump_version_suffix.outputs.SUFFIX || steps.appinfo.outputs.VERSION_NAME_SUFFIX }}
327352 run : |
328353 mkdir -p ./app-metadata/${APPLICATION_ID}/en-US/changelogs
329354 GITHUB_NOTES_FILE="$(mktemp -d)/long-notes.txt"
@@ -363,7 +388,7 @@ jobs:
363388 APPLICATION_LABEL : ${{ steps.appinfo.outputs.APPLICATION_LABEL }}
364389 APPLICATION_ID : ${{ steps.appinfo.outputs.APPLICATION_ID }}
365390 APP_NAME : ${{ matrix.appName }}
366- FULL_VERSION_NAME : ${{ steps.appinfo.outputs.VERSION_NAME }}${{ steps.bump_version_suffix.outputs.SUFFIX || steps.appinfo.outputs.VERSION_NAME_SUFFIX }}
391+ FULL_VERSION_NAME : ${{ steps.bump_version_name.outputs.VERSION_NAME || steps. appinfo.outputs.VERSION_NAME }}${{ steps.bump_version_suffix.outputs.SUFFIX || steps.appinfo.outputs.VERSION_NAME_SUFFIX }}
367392 RELEASE_TYPE : ${{ vars.RELEASE_TYPE }}
368393 APP_SLUG : ${{ steps.app-token.outputs.app-slug || 'github-actions'}}
369394 APP_USER_ID : ${{ vars.BOT_USER_ID || '41898282' }}
@@ -408,7 +433,7 @@ jobs:
408433 applicationId : ${{ steps.appinfo.outputs.APPLICATION_ID }}
409434 oldFullVersion : ${{ steps.appinfo.outputs.VERSION_NAME }}${{ steps.appinfo.outputs.VERSION_NAME_SUFFIX }}
410435 oldVersionCode : ${{ steps.new_version_code.outputs.old_version_code }}
411- newFullVersion : ${{ steps.appinfo.outputs.VERSION_NAME }}${{ steps.bump_version_suffix.outputs.SUFFIX || steps.appinfo.outputs.VERSION_NAME_SUFFIX }}
436+ newFullVersion : ${{ steps.bump_version_name.outputs.VERSION_NAME || steps. appinfo.outputs.VERSION_NAME }}${{ steps.bump_version_suffix.outputs.SUFFIX || steps.appinfo.outputs.VERSION_NAME_SUFFIX }}
412437 newVersionCode : ${{ steps.new_version_code.outputs.new_version_code }}
413438 releaseType : ${{ vars.RELEASE_TYPE }}
414439 with :
0 commit comments