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