mirror of
https://github.com/yogeshpaliyal/KeyPass.git
synced 2026-01-04 09:39:56 -06:00
141 lines
5.2 KiB
YAML
141 lines
5.2 KiB
YAML
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: Rename aab names
|
|
run: |
|
|
mkdir -p app/build/outputs/bundle/release
|
|
mv app/build/outputs/bundle/freeRelease/app-free-release.aab app/build/outputs/bundle/release/keypass-free-${{steps.bump-app-version.outputs.newVersion}}.aab
|
|
mv app/build/outputs/bundle/proRelease/app-pro-release.aab app/build/outputs/bundle/release/keypass-pro-${{steps.bump-app-version.outputs.newVersion}}.aab
|
|
|
|
|
|
- name: Create Release
|
|
uses: ncipollo/release-action@v1.16.0
|
|
with:
|
|
tag: "${{ steps.bump-app-version.outputs.newVersion }}"
|
|
generateReleaseNotes: true
|
|
commit: "master"
|
|
artifacts: "app/build/outputs/bundle/release/*.aab"
|
|
discussionCategory: "Release feedbacks"
|
|
makeLatest: true
|
|
|
|
- uses: snnaplab/universal-apk-generate-action@v1
|
|
id: apk-free-generate
|
|
with:
|
|
aab-path: 'app/build/outputs/bundle/release/keypass-free-${{steps.bump-app-version.outputs.newVersion}}.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/release/keypass-pro-${{steps.bump-app-version.outputs.newVersion}}.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
|