Update Multi-Branch已完美打包release.yml

This commit is contained in:
dlgt7
2025-08-17 03:51:59 +08:00
committed by GitHub
parent fb9dc6aaad
commit 172b987725
@@ -1,6 +1,11 @@
name: fongmi Build
name: Multi-Branch Build
on:
push:
branches:
- fongmi
- okjack
- release
workflow_dispatch:
jobs:
@@ -8,73 +13,43 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 16
- name: Set up JDK 17
- uses: actions/checkout@v4
- name: Set up JDK and Gradle
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'adopt'
- name: Fix invalid plugins block syntax
- name: Release Apk Sign
run: |
find . -name "build.gradle" -exec sed -i \
-e "s/id\(.*\)version *= */id\1version /g" \
{} +
- name: Fix deprecated Gradle syntax
run: |
find . -name "*.gradle" -exec sed -i \
-e 's/\bnamespace\( \+\)/namespace = /g' \
-e 's/\burl\( \+\)/url = /g' \
-e 's/\bbuildConfig\( \+\)/buildConfig = /g' \
-e 's/\bviewBinding\( \+\)/viewBinding = /g' \
-e 's/\bshrinkResources\( \+\)/shrinkResources = /g' \
-e 's/\buseLegacyPackaging\( \+\)/useLegacyPackaging = /g' \
-e 's/\bcoreLibraryDesugaringEnabled\( \+\)/coreLibraryDesugaringEnabled = /g' \
-e 's/\bversion\( \+\)/version = /g' \
{} +
- name: Add signing config
run: |
signingConfigs='signingConfigs {
if (project.hasProperty("FONGMIBOX_STORE_FILE")) {
release {
storeFile file(FONGMIBOX_STORE_FILE)
storePassword FONGMIBOX_STORE_PASSWORD
keyAlias FONGMIBOX_KEY_ALIAS
keyPassword FONGMIBOX_KEY_PASSWORD
v1SigningEnabled true
v2SigningEnabled true
enableV3Signing = true
enableV4Signing = true
}
}
}'
signingConfig='signingConfig signingConfigs.release'
sed -i "/android {/a\\$signingConfigs" app/build.gradle
sed -i "/release {/a\\$signingConfig" app/build.gradle
signingConfigs='c2lnbmluZ0NvbmZpZ3Mge1wKICAgICAgICBpZiAocHJvamVjdC5oYXNQcm9wZXJ0eSgiRk9OR01JQk9YX1NUT1JFX0ZJTEUiKSkge1wKICAgICAgICAgICAgbXlDb25maWcge1wKICAgICAgICAgICAgICAgIHN0b3JlRmlsZSBmaWxlKEZPTkdNSUJPWF9TVE9SRV9GSUxFKVwKICAgICAgICAgICAgICAgIHN0b3JlUGFzc3dvcmQgRk9OR01JQk9YX1NUT1JFX1BBU1NXT1JEXAogICAgICAgICAgICAgICAga2V5QWxpYXMgRk9OR01JQk9YX0tFWV9BTElBU1wKICAgICAgICAgICAgICAgIGtleVBhc3N3b3JkIEZPTkdNSUJPWF9LRVlfUEFTU1dPUkRcCiAgICAgICAgICAgICAgICB2MVNpZ25pbmdFbmFibGVkIHRydWVcCiAgICAgICAgICAgICAgICB2MlNpZ25pbmdFbmFibGVkIHRydWVcCiAgICAgICAgICAgICAgICBlbmFibGVWM1NpZ25pbmcgPSB0cnVlXAogICAgICAgICAgICAgICAgZW5hYmxlVjRTaWduaW5nID0gdHJ1ZVwKICAgICAgICAgICAgfVwKICAgICAgICB9XAogICAgfVwKXA=='
signingConfig='aWYgKHByb2plY3QuaGFzUHJvcGVydHkoIkZPTkdNSUJPWF9TVE9SRV9GSUxFIikpIHtcCiAgICAgICAgICAgICAgICBzaWduaW5nQ29uZmlnIHNpZ25pbmdDb25maWdzLm15Q29uZmlnXAogICAgICAgICAgICB9XA=='
signingConfigs="$(echo "$signingConfigs" |base64 -d )"
signingConfig="$(echo "$signingConfig" |base64 -d )"
sed -i -e "/defaultConfig {/i\\$signingConfigs " -e "/debug {/a\\$signingConfig " -e "/release {/a\\$signingConfig " app/build.gradle
cp -f ${{ github.workspace }}/.github/workflows/TVBoxOSC.jks app/TVBoxOSC.jks
echo "FONGMIBOX_STORE_FILE=./TVBoxOSC.jks" >> ./gradle.properties
echo "FONGMIBOX_KEY_ALIAS=TVBoxOSC" >> ./gradle.properties
echo "FONGMIBOX_STORE_PASSWORD=TVBoxOSC" >> ./gradle.properties
echo "FONGMIBOX_KEY_PASSWORD=TVBoxOSC" >> ./gradle.properties
sed -i '$a\FONGMIBOX_STORE_FILE=./TVBoxOSC.jks' ./gradle.properties
sed -i '$a\FONGMIBOX_KEY_ALIAS=TVBoxOSC' ./gradle.properties
sed -i '$a\FONGMIBOX_STORE_PASSWORD=TVBoxOSC' ./gradle.properties
sed -i '$a\FONGMIBOX_KEY_PASSWORD=TVBoxOSC' ./gradle.properties
- name: Build with Gradle
- name: Build With Gradle
run: |
chmod +x gradlew
./gradlew clean assembleRelease --parallel --warning-mode all --stacktrace
./gradlew clean assembleRelease --parallel --daemon --warning-mode all --stacktrace
- name: Prepare APK
- name: Prepare App
run: |
mkdir -p ${{ github.workspace }}/apk/
find . -name "*.apk" -exec mv {} ${{ github.workspace }}/apk/ \;
- name: Upload APK
- name: Upload App To Artifact
uses: actions/upload-artifact@v4
with:
name: com.github.tvbox.fongmi
name: com.github.tvbox.${{ github.ref_name }}
path: ${{ github.workspace }}/apk/*