File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ name : Release
2+
3+ on :
4+ push :
5+ tags :
6+ - ' v*'
7+
8+ permissions :
9+ contents : write
10+
11+ jobs :
12+ build-and-release :
13+ runs-on : ubuntu-latest
14+
15+ steps :
16+ - name : Checkout
17+ uses : actions/checkout@v4
18+
19+ - name : Set up JDK 21
20+ uses : actions/setup-java@v4
21+ with :
22+ java-version : ' 21'
23+ distribution : ' temurin'
24+ cache : gradle
25+
26+ - name : Make gradlew executable
27+ run : chmod +x ./gradlew
28+
29+ - name : Decode keystore
30+ env :
31+ KEYSTORE_BASE64 : ${{ secrets.RELEASE_KEYSTORE_BASE64 }}
32+ run : echo "$KEYSTORE_BASE64" | base64 --decode > $GITHUB_WORKSPACE/release.keystore
33+
34+ - name : Build release APK
35+ env :
36+ SIGNING_STORE_FILE : ${{ github.workspace }}/release.keystore
37+ SIGNING_STORE_PASSWORD : ${{ secrets.RELEASE_STORE_PASSWORD }}
38+ SIGNING_KEY_ALIAS : ${{ secrets.RELEASE_KEY_ALIAS }}
39+ SIGNING_KEY_PASSWORD : ${{ secrets.RELEASE_KEY_PASSWORD }}
40+ run : ./gradlew assembleRelease
41+
42+ - name : Rename APK
43+ run : |
44+ TAG=${GITHUB_REF#refs/tags/}
45+ mv app/build/outputs/apk/release/app-release.apk \
46+ app/build/outputs/apk/release/caffeine-health-${TAG}.apk
47+
48+ - name : Create GitHub Release
49+ uses : softprops/action-gh-release@v2
50+ with :
51+ name : " Caffeine Health ${{ github.ref_name }}"
52+ generate_release_notes : true
53+ files : app/build/outputs/apk/release/caffeine-health-*.apk
Original file line number Diff line number Diff line change @@ -6,7 +6,6 @@ local.properties
66# IDE
77.idea /
88.vscode /
9- .github /
109.claude /
1110
1211CLAUDE.md
Original file line number Diff line number Diff line change @@ -18,8 +18,18 @@ android {
1818 testInstrumentationRunner = " androidx.test.runner.AndroidJUnitRunner"
1919 }
2020
21+ signingConfigs {
22+ create(" release" ) {
23+ storeFile = System .getenv(" SIGNING_STORE_FILE" )?.let { file(it) }
24+ storePassword = System .getenv(" SIGNING_STORE_PASSWORD" )
25+ keyAlias = System .getenv(" SIGNING_KEY_ALIAS" )
26+ keyPassword = System .getenv(" SIGNING_KEY_PASSWORD" )
27+ }
28+ }
29+
2130 buildTypes {
2231 release {
32+ signingConfig = signingConfigs[" release" ].takeIf { it.storeFile != null }
2333 isMinifyEnabled = true
2434 proguardFiles(
2535 getDefaultProguardFile(" proguard-android-optimize.txt" ),
You can’t perform that action at this time.
0 commit comments