Update Multi-Branch已完美打包release.yml
This commit is contained in:
@@ -1,11 +1,6 @@
|
||||
name: Multi-Branch Build
|
||||
name: fongmi Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- fongmi
|
||||
- okjack
|
||||
- release
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
@@ -13,43 +8,73 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up JDK and Gradle
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'adopt'
|
||||
|
||||
- name: Release Apk Sign
|
||||
- name: Fix invalid plugins block syntax
|
||||
run: |
|
||||
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
|
||||
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
|
||||
find . -name "build.gradle" -exec sed -i \
|
||||
-e "s/id\(.*\)version *= */id\1version /g" \
|
||||
{} +
|
||||
|
||||
- name: Build With Gradle
|
||||
- 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
|
||||
|
||||
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
|
||||
|
||||
- name: Build with Gradle
|
||||
run: |
|
||||
chmod +x gradlew
|
||||
./gradlew clean assembleRelease --parallel --daemon --warning-mode all --stacktrace
|
||||
./gradlew clean assembleRelease --parallel --warning-mode all --stacktrace
|
||||
|
||||
- name: Prepare App
|
||||
- name: Prepare APK
|
||||
run: |
|
||||
mkdir -p ${{ github.workspace }}/apk/
|
||||
find . -name "*.apk" -exec mv {} ${{ github.workspace }}/apk/ \;
|
||||
|
||||
- name: Upload App To Artifact
|
||||
- name: Upload APK
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: com.github.tvbox.${{ github.ref_name }}
|
||||
name: com.github.tvbox.fongmi
|
||||
path: ${{ github.workspace }}/apk/*
|
||||
|
||||
Reference in New Issue
Block a user