-
Notifications
You must be signed in to change notification settings - Fork 0
51 lines (43 loc) · 2.06 KB
/
Copy pathrelease.yml
File metadata and controls
51 lines (43 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
name: Release
on:
push:
tags: ['v*']
jobs:
release:
runs-on: ubuntu-latest
container:
image: registry.gitlab.com/fdroid/fdroidserver:buildserver-trixie
permissions:
contents: write
env:
ANDROID_HOME: /opt/android-sdk
steps:
- uses: actions/checkout@v7
- name: Build FOSS release APK (reproducible with F-Droid)
# Package names must match compileSdk / buildToolsVersion in
# app/build.gradle.kts — see the matching step in build.yml.
run: |
yes | sdkmanager --licenses 2>/dev/null || true
sdkmanager "platforms;android-37.0" "build-tools;37.0.0"
./gradlew assembleFossRelease
- name: Decode keystore
run: echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > keystore.jks
- name: Sign FOSS APK
run: |
BUILD_TOOLS=$ANDROID_HOME/build-tools/$(ls $ANDROID_HOME/build-tools/ | sort -V | tail -1)
$BUILD_TOOLS/apksigner sign --v1-signing-enabled false --alignment-preserved --ks keystore.jks --ks-key-alias ${{ secrets.KEY_ALIAS }} --ks-pass pass:"${{ secrets.KEYSTORE_PASSWORD }}" --key-pass pass:"${{ secrets.KEY_PASSWORD }}" --out app-foss-release.apk app/build/outputs/apk/foss/release/app-foss-release-unsigned.apk
- name: Build and sign Full release APK
run: |
./gradlew assembleFullRelease
BUILD_TOOLS=$ANDROID_HOME/build-tools/$(ls $ANDROID_HOME/build-tools/ | sort -V | tail -1)
$BUILD_TOOLS/apksigner sign --v1-signing-enabled false --alignment-preserved --ks keystore.jks --ks-key-alias ${{ secrets.KEY_ALIAS }} --ks-pass pass:"${{ secrets.KEYSTORE_PASSWORD }}" --key-pass pass:"${{ secrets.KEY_PASSWORD }}" --out app-full-release.apk app/build/outputs/apk/full/release/app-full-release-unsigned.apk
- name: Clean up keystore
if: always()
run: rm -f keystore.jks
- name: Create Release
uses: softprops/action-gh-release@v2
with:
files: |
app-foss-release.apk
app-full-release.apk
generate_release_notes: true