Просмотр исходного кода

Merge pull request #1687 from Xwite/master

update workflows
kunfei 4 лет назад
Родитель
Сommit
35418a1ab4

+ 43 - 0
.github/scripts/cronet.sh

@@ -0,0 +1,43 @@
+#bin/sh
+
+global_rematch() {
+     local s="$2" regex=$1 debug=$3
+     if [[ -z "$1" || -z "$2" ]]; then
+         echo -e "usage: global_rematch <regex> <string> <debug flag>"
+     else
+         if [[ ! $s =~ $regex ]]; then
+             [[ -n $debug ]] && echo -e "input string: $s"
+             [[ -n $debug ]] && echo -e "input regex: $regex"
+             echo -e "info: not matched!"
+         fi
+         while [[ $s =~ $regex ]]; do
+             if [[ -n ${BASH_REMATCH[1]} ]];then
+                 [[ -n $debug ]] && echo "待匹配:$s"
+                 echo "${BASH_REMATCH[1]}"
+                 s=`echo $s | sed s/${BASH_REMATCH[1]}//g`
+                 [[ -n $debug ]] && echo "下次匹配:$s"
+             else
+                 echo -e "info: regex not has match group!"
+             fi
+         done
+     fi
+ }
+
+echo "start download cronet info..."
+curl https://storage.googleapis.com/chromium-cronet/ -s > cronet
+global_rematch 'android.([0-9\.]+).Release.VERSION' "`cat cronet`" | tail -1 > lastest_cronet_version
+lastest_cronet_version=`cat lastest_cronet_version`
+echo "lastest_cronet_version: $lastest_cronet_version"
+
+path=$GITHUB_WORKSPACE/gradle.properties
+current_cronet_version=`cat $path | grep CronetVersion | sed s/CronetVersion=//`
+echo "current_cronet_version: $current_cronet_version"
+
+if [[  $current_cronet_version == $lastest_cronet_version ]];then
+    echo "cronet is already latest"
+else
+    sed -i s/CronetVersion=.*/CronetVersion=$lastest_cronet_version/ $path
+    echo "start download latest cronet"
+    chmod +x gradlew
+    ./gradlew app:downloadCronet
+fi

+ 22 - 3
.github/workflows/release.yml

@@ -22,7 +22,7 @@ jobs:
     steps:
       - uses: actions/checkout@v2
         with:
-          fetch-depth: 0
+          fetch-depth: 1
       - uses: actions/cache@v2
         with:
           path: |
@@ -31,6 +31,22 @@ jobs:
           key: ${{ runner.os }}-legado-${{ hashFiles('**/updateLog.md') }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
           restore-keys: |
             ${{ runner.os }}-legado-${{ hashFiles('**/updateLog.md') }}-
+
+      - name: Set github-action[bot] info
+        run: |
+          git config --global user.name "github-actions[bot]"
+          git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
+
+      - name: Download Lastest Cronet jar
+        run: |
+          echo "获取cronet最新版本"
+          source $GITHUB_WORKSPACE/.github/scripts/cronet.sh
+          git add *cronet*jar
+          git add *cronet.json
+          git add gradle.properties
+          git commit -m "bump cronet version: $lastest_cronet_version"
+          git push origin master
+
       - name: Release Apk Sign
         run: |
           echo "给apk增加签名"
@@ -39,17 +55,20 @@ jobs:
           sed '$a\RELEASE_KEY_ALIAS=legado'                 $GITHUB_WORKSPACE/gradle.properties -i
           sed '$a\RELEASE_STORE_PASSWORD=gedoor_legado'     $GITHUB_WORKSPACE/gradle.properties -i
           sed '$a\RELEASE_KEY_PASSWORD=gedoor_legado'       $GITHUB_WORKSPACE/gradle.properties -i
+
       - name: Unify Version Name
         run: |
           echo "统一版本号"
           VERSION=$(date -d "8 hour" -u +3.%y.%m%d%H)
           echo "RELEASE_VERSION=$VERSION" >> $GITHUB_ENV
           sed "/def version/c def version = \"$VERSION\"" $GITHUB_WORKSPACE/app/build.gradle  -i
+
       - name: Build With Gradle
         run: |
           echo "开始进行release构建"
           chmod +x gradlew
           ./gradlew assembleRelease --build-cache --parallel
+
       - name: Organize the Files
         run: |
           mkdir -p ${{ github.workspace }}/apk/
@@ -60,12 +79,14 @@ jobs:
         with:
           name: legado apk
           path: ${{ github.workspace }}/apk/*.apk
+
       - name: Upload App To Lanzou
         if: ${{ env.ylogin }}
         run: |
           path="$GITHUB_WORKSPACE/apk/"
           python3 $GITHUB_WORKSPACE/.github/scripts/lzy_web.py "$path" "$LANZOU_FOLDER_ID"
           echo "[$(date -u -d '+8 hour' '+%Y.%m.%d %H:%M:%S')] 分享链接: https://kunfei.lanzoux.com/b0f7pt4ja"
+
       - name: Release
         uses: softprops/action-gh-release@59c3b4891632ff9a897f99a91d7bc557467a3a22
         with:
@@ -81,8 +102,6 @@ jobs:
       - name: Push Assets To "release" Branch
         if: ${{ github.actor == 'gedoor' }}
         run: |
-          git config --global user.name "github-actions[bot]"
-          git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
           git clone "https://${{ github.actor }}:${{ secrets.ACTIONS_TOKEN }}@github.com/${{ github.actor }}/release" -b release release-branch
           mv -f $GITHUB_WORKSPACE/apk/*.apk release-branch
           cd release-branch

+ 1 - 0
.github/workflows/stale.yml

@@ -13,6 +13,7 @@ jobs:
   stale:
 
     runs-on: ubuntu-latest
+    if: ${{ github.actor == 'gedoor' }}
     permissions:
       issues: write
 

+ 1 - 1
app/src/main/assets/cronet.json

@@ -1 +1 @@
-{"arm64-v8a":"690c212d9bbad4b09b9e1ba450b273bb","armeabi-v7a":"4dbb88e5229abef7d84138218772f872","x86":"3f2421e040147da48abb07cfc6c7c87e","x86_64":"730a71ef4f03a27d1c8c8a77e7d09ff5","version":"96.0.4664.104"}
+{"x86":"9299ba13b7a4b89926a8fd1252acac24","armeabi-v7a":"f652ed38e2f23ba2a3e5484ef9369e78","x86_64":"76665854c4b927c87d82d09d9e726654","arm64-v8a":"96078052641b271fae90aa26ed1dbb45","version":"100.0.4847.0"}

+ 2 - 1
app/src/main/java/io/legado/app/help/config/AppConfig.kt

@@ -2,6 +2,7 @@ package io.legado.app.help.config
 
 import android.content.Context
 import android.content.SharedPreferences
+import io.legado.app.BuildConfig
 import io.legado.app.constant.AppConst
 import io.legado.app.constant.PreferKey
 import io.legado.app.utils.*
@@ -293,7 +294,7 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
     private fun getPrefUserAgent(): String {
         val ua = appCtx.getPrefString(PreferKey.userAgent)
         if (ua.isNullOrBlank()) {
-            return "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
+            return "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/" + BuildConfig.Cronet_Version + " Safari/537.36"
         }
         return ua
     }

+ 1 - 1
gradle.properties

@@ -22,4 +22,4 @@ kotlin.code.style=official
 
 android.enableResourceOptimizations=true
 
-CronetVersion=96.0.4664.104
+CronetVersion=100.0.4847.0