@@ -58,3 +58,62 @@ jobs:
58 name: lint-results
58 name: lint-results
59 path: app/build/reports/lint-results-release.html
59 path: app/build/reports/lint-results-release.html
60 retention-days: 14
60 retention-days: 14
63+ name: Create Prerelease
65+ if: github.event_name == 'push'
66+ runs-on: ubuntu-latest
71+ - name: Checkout code
72+ uses: actions/checkout@v4
74+ - name: Set up JDK 17
75+ uses: actions/setup-java@v4
78+ distribution: 'temurin'
81+ uses: gradle/actions/setup-gradle@v4
83+ - name: Setup Android SDK
84+ uses: android-actions/setup-android@v3
86+ - name: Generate Gradle wrapper
87+ run: gradle wrapper --gradle-version 8.9
89+ - name: Build release APK
90+ run: ./gradlew assembleRelease
92+ - name: Rename APK with commit SHA
94+ SHORT_SHA=$(echo "${{ github.sha }}" | cut -c1-7)
95+ for apk in app/build/outputs/apk/release/*.apk; do
96+ mv "$apk" "app/build/outputs/apk/release/parseable-android-${SHORT_SHA}.apk"
99+ - name: Delete existing latest-master tag and release
101+ GH_TOKEN: ${{ github.token }}
103+ gh release delete latest-master --yes || true
104+ git push origin :refs/tags/latest-master || true
106+ - name: Create prerelease
107+ uses: softprops/action-gh-release@v2
109+ tag_name: latest-master
110+ name: "Latest Master Build (${{ github.sha }})"
113+ Automated prerelease from commit ${{ github.sha }}.
115+ **Commit:** [`${{ github.sha }}`](${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }})
116+ **Branch:** `${{ github.ref_name }}`
117+ **Triggered by:** @${{ github.actor }}
119+ app/build/outputs/apk/release/*.apk