Bump App Version #68
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: Bump App Version | |
on: | |
workflow_dispatch: | |
inputs: | |
type: | |
description: 'Bump type' | |
required: true | |
default: 'patch' | |
type: choice | |
options: | |
- patch | |
- minor | |
- major | |
releaseNote: | |
description: 'Release Note' | |
required: true | |
type: string | |
jobs: | |
bump: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: 🏗 Bump App Version | |
id: bump-app-version | |
run: | | |
newVersion=$(bash ./scripts/versionBump.sh $TYPE "$RELEASE_NOTES") | |
echo "::newVersion::$newVersion" | |
echo "newVersion=$newVersion" >> "$GITHUB_OUTPUT" | |
env: | |
TYPE: ${{ inputs.type }} | |
RELEASE_NOTES: ${{ inputs.releaseNote }} | |
- name: Git Add and Commit | |
run: | | |
git config --global user.name 'Yogesh Choudhary Paliyal' | |
git config --global user.email 'yogeshpaliyal@users.noreply.github.com' | |
git add . | |
git commit -am "Github Actions: App version Bumped to ${{ steps.bump-app-version.outputs.newVersion }}" | |
- name: Print newVersion | |
run: echo "${{ steps.bump-app-version.outputs.newVersion }}" | |
- name: Build Free Release AAB | |
id: buildFreeRelease | |
run: ./gradlew bundleFreeRelease | |
- name: Build Pro Release AAB | |
id: buildProRelease | |
run: ./gradlew bundleProRelease | |
- name: Sign Free AAB | |
id: signPro | |
uses: r0adkll/sign-android-release@fix/bundle-signing | |
with: | |
releaseDirectory: app/build/outputs/bundle/freeRelease | |
signingKeyBase64: ${{ secrets.SIGNING_KEY_WITH_PRO }} | |
alias: ${{ secrets.ALIAS }} | |
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} | |
keyPassword: ${{ secrets.KEY_PASSWORD }} | |
- name: Sign Pro AAB | |
id: sign | |
uses: r0adkll/sign-android-release@fix/bundle-signing | |
with: | |
releaseDirectory: app/build/outputs/bundle/proRelease | |
signingKeyBase64: ${{ secrets.SIGNING_KEY_WITH_PRO }} | |
alias: pro | |
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} | |
keyPassword: ${{ secrets.KEY_PASSWORD }} | |
- name: Push to protected branch | |
uses: CasperWA/push-protected@v2 | |
with: | |
token: ${{ secrets.PUSH_TO_PROTECTED_BRANCH }} | |
branch: master | |
unprotect_reviews: true | |
- name: Git push tag | |
run: | | |
git tag -a ${{ steps.bump-app-version.outputs.newVersion }} -m "Release version ${{ steps.bump-app-version.outputs.newVersion }}" | |
git push origin ${{ steps.bump-app-version.outputs.newVersion }} | |
- name: Create Release | |
uses: ncipollo/release-action@v1.16.0 | |
with: | |
tag: "${{ steps.bump-app-version.outputs.newVersion }}" | |
generateReleaseNotes: true | |
commit: "master" | |
discussionCategory: "Release feedbacks" | |
makeLatest: true | |
- name: Upload free aab to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: 'app/build/outputs/bundle/freeRelease/app-free-release.aab' | |
asset_name: 'keypass-free-${{steps.bump-app-version.outputs.newVersion}}.aab' | |
tag: ${{ steps.bump-app-version.outputs.newVersion }} | |
overwrite: true | |
- name: Upload pro aab to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: 'app/build/outputs/bundle/proRelease/app-pro-release.aab' | |
asset_name: 'keypass-pro-${{steps.bump-app-version.outputs.newVersion}}.aab' | |
tag: ${{ steps.bump-app-version.outputs.newVersion }} | |
overwrite: true | |
- uses: snnaplab/universal-apk-generate-action@v1 | |
id: apk-free-generate | |
with: | |
aab-path: 'app/build/outputs/bundle/freeRelease/app-free-release.aab' | |
keystore-base64: ${{ secrets.SIGNING_KEY_WITH_PRO }} | |
keystore-password: ${{ secrets.KEY_STORE_PASSWORD }} | |
key-alias: ${{ secrets.ALIAS }} | |
key-password: ${{ secrets.KEY_PASSWORD }} | |
- name: Upload free binaries to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: ${{ steps.apk-free-generate.outputs.apk-path }} | |
asset_name: 'keypass-free-${{steps.bump-app-version.outputs.newVersion}}.apk' | |
tag: ${{ steps.bump-app-version.outputs.newVersion }} | |
overwrite: true | |
- name: Remove universal directory | |
run: rm -r /home/runner/work/snnaplab-universal-apk-generate-action | |
- uses: snnaplab/universal-apk-generate-action@v1 | |
id: apk-pro-generate | |
with: | |
aab-path: 'app/build/outputs/bundle/proRelease/app-pro-release.aab' | |
keystore-base64: ${{ secrets.SIGNING_KEY_WITH_PRO }} | |
keystore-password: ${{ secrets.KEY_STORE_PASSWORD }} | |
key-alias: pro | |
key-password: ${{ secrets.KEY_PASSWORD }} | |
- name: Upload pro binaries to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: ${{ steps.apk-pro-generate.outputs.apk-path }} | |
tag: ${{ steps.bump-app-version.outputs.newVersion }} | |
asset_name: 'keypass-pro-${{ steps.bump-app-version.outputs.newVersion }}.apk' | |
overwrite: true |