Skip to content

Commit 5f5d50d

Browse files
authored
Update release.yml
1 parent e954533 commit 5f5d50d

File tree

1 file changed

+52
-77
lines changed

1 file changed

+52
-77
lines changed

.github/workflows/release.yml

+52-77
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,57 @@
11
name: Build Release
22
on:
3-
workflow_dispatch:
4-
inputs:
5-
beta:
6-
type: boolean
7-
description: Is beta?
8-
draft:
9-
type: boolean
10-
description: Is draft?
3+
workflow_dispatch:
4+
inputs:
5+
versionName:
6+
required: true
7+
description: This releases version name
8+
default: "1.0.0"
9+
versionCode:
10+
required: true
11+
description: This releases version code
12+
default: "100"
13+
1114
jobs:
12-
build:
13-
runs-on: ubuntu-latest
14-
steps:
15-
- name: Checkout
16-
uses: actions/checkout@v3
15+
build:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@master
1720

18-
- name: Setup JDK 17
19-
uses: actions/setup-java@v4
20-
with:
21-
distribution: 'temurin'
22-
java-version: '17'
23-
cache: 'gradle'
21+
- name: Setup JDK 17
22+
uses: actions/setup-java@v2
23+
with:
24+
java-version: 17
25+
distribution: 'temurin'
26+
cache: 'gradle'
27+
28+
- name: Setup Android SDK
29+
uses: android-actions/[email protected]
30+
31+
- name: Set Version
32+
uses: chkfung/[email protected]
33+
with:
34+
gradlePath: app/build.gradle.kts
35+
versionCode: ${{github.event.inputs.versionCode}}
36+
versionName: ${{github.event.inputs.versionName}}
37+
38+
- name: Build Signed APK
39+
run: |
40+
echo "${{ secrets.keystore }}" | base64 -d > $GITHUB_WORKSPACE/signing-key.jks
41+
chmod +x ./gradlew
42+
./gradlew packageReleaseUniversalApk -Pandroid.injected.signing.store.file=$GITHUB_WORKSPACE/signing-key.jks -Pandroid.injected.signing.store.password=${{ secrets.keystore_password }} -Pandroid.injected.signing.key.alias=${{ secrets.key_alias }} -Pandroid.injected.signing.key.password=${{ secrets.key_password }}
2443
25-
- name: Setup Android SDK
26-
uses: android-actions/[email protected]
27-
28-
- name: Extract Version
29-
id: extract_version
30-
run: |
31-
VERSION=$(grep -oP 'versionName = "\K[^"]+' app/build.gradle.kts)
32-
VERSION_CODE=$(grep -oP 'versionCode = \K\d+' app/build.gradle.kts)
33-
echo "version=$VERSION" >> $GITHUB_OUTPUT
34-
echo "version_code=$VERSION_CODE" >> $GITHUB_OUTPUT
35-
if [ ${{ inputs.beta }} == true ]; then BETA=true; else BETA=false; fi
36-
echo "beta=$BETA" >> $GITHUB_OUTPUT
37-
TAG="v$VERSION"
38-
echo "tag=$TAG" >> $GITHUB_OUTPUT
39-
40-
- name: Build Signed APK
41-
run: |
42-
echo "${{ secrets.keystore }}" | base64 -d > $GITHUB_WORKSPACE/signing-key.jks
43-
chmod +x ./gradlew
44-
./gradlew assembleRelease \
45-
-Pandroid.injected.signing.store.file=$GITHUB_WORKSPACE/signing-key.jks \
46-
-Pandroid.injected.signing.store.password=${{ secrets.keystore_password }} \
47-
-Pandroid.injected.signing.key.alias=${{ secrets.key_alias }} \
48-
-Pandroid.injected.signing.key.password=${{ secrets.key_password }}
49-
50-
- name: Find and Rename APK
51-
run: |
52-
APK_PATH=$(find . -name "*release*.apk" | head -n 1)
53-
if [ -z "$APK_PATH" ]; then
54-
echo "No APK file found"
55-
exit 1
56-
fi
57-
mv "$APK_PATH" ./app-release.apk
58-
cp ./app-release.apk ./BunnyXposed-${{ steps.extract_version.outputs.version }}.apk
59-
echo "APKs renamed and copied"
60-
61-
- name: Create Release
62-
env:
63-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
64-
run: |
65-
PRERELEASE_FLAG=""
66-
if [ "${{ steps.extract_version.outputs.beta }}" = "true" ]; then
67-
PRERELEASE_FLAG="--prerelease"
68-
fi
69-
DRAFT_FLAG=""
70-
if [ "${{ inputs.draft }}" = "true" ]; then
71-
DRAFT_FLAG="--draft"
72-
fi
73-
git config --local user.email "[email protected]"
74-
git config --local user.name "GitHub Actions"
75-
git tag "${{ steps.extract_version.outputs.tag }}"
76-
git push origin "${{ steps.extract_version.outputs.tag }}"
77-
gh release create "${{ steps.extract_version.outputs.tag }}" \
78-
--title "${{ steps.extract_version.outputs.version }}" \
79-
--generate-notes \
80-
$PRERELEASE_FLAG \
81-
$DRAFT_FLAG \
82-
./*.apk
44+
- name: Release
45+
run: |
46+
mv app/build/outputs/apk_from_bundle/release/app-release-universal.apk ./app-release.apk
47+
git config --local user.email "[email protected]"
48+
git config --local user.name "GitHub Actions"
49+
tag="${{ github.event.inputs.versionCode }}"
50+
git tag "$tag"
51+
git push origin "$tag"
52+
gh release create "$tag" \
53+
--title "${{ github.event.inputs.versionName }}" \
54+
--generate-notes \
55+
./*.apk
56+
env:
57+
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'

0 commit comments

Comments
 (0)