Skip to content

final release with bug fix #22

final release with bug fix

final release with bug fix #22

Workflow file for this run

name: Build and Release APK
on:
push:
branches:
- main
jobs:
build-and-release:
name: Build And Release APK
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up JDK 18
uses: actions/setup-java@v1
with:
java-version: 18
distribution: 'temurin'
cache: gradle
- name: Grant execute permission for gradlew
run: chmod +x ./gradlew
- name: Fetch latest release tag
id: fetch_latest_tag
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
LATEST_TAG=$(gh release list --limit 1 --json tagName --jq '.[0].tagName')
echo "latest_tag=${LATEST_TAG}" >> $GITHUB_ENV
- name : Retrieve Version
id: android_version
run: |
echo "::set-output name=VERSION_NAME::$(${{github.workspace}}/gradlew -q printVersionName)"
- name: Get version
run: |
echo "version_name=${{steps.android_version.outputs.VERSION_NAME}}" >> $GITHUB_ENV
- name: Compare version names
id: compare_versions
run: |
if [ "${{ env.version_name }}" == "${{ env.latest_tag }}" ]; then
echo "Version ${VERSION_NAME} is the same as the latest release. Skipping build and release."
echo "skip_build=true" >> $GITHUB_ENV
else
echo "Version ${VERSION_NAME} is different from the latest release. Proceeding with build and release."
echo "skip_build=false" >> $GITHUB_ENV
fi
- name: Build APK
if: ${{ env.skip_build == 'false' }}
run: ./gradlew assembleRelease
- name: Upload APK as artifact
if: ${{ env.skip_build == 'false' }}
uses: actions/upload-artifact@v3
with:
name: app-release
path: app/build/outputs/apk/release/app-release-unsigned.apk
- name: Download APK artifact
if: ${{ env.skip_build == 'false' }}
uses: actions/download-artifact@v3
with:
name: app-release
- name: Create GitHub Release
if: ${{ env.skip_build == 'false' }}
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: '${{ env.version_name }}'
release_name: 'TextAutomater ${{ env.version_name }}'
draft: false
prerelease: false
body: "Automated release for build #${{ env.version_name }}"
- name: Upload APK to Release
if: ${{ env.skip_build == 'false' }}
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./app-release-unsigned.apk
asset_name: textAutomater.apk
asset_content_type: application/vnd.android.package-archive