ci:check cronet updates when release

pull/1687/head
Xwite 3 years ago
parent 0bf226e84e
commit 4fc32aa605
  1. 43
      .github/scripts/cronet.sh
  2. 25
      .github/workflows/release.yml

@ -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,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,7 @@ jobs:
key: ${{ runner.os }}-legado-${{ hashFiles('**/updateLog.md') }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-legado-${{ hashFiles('**/updateLog.md') }}-
- name: Release Apk Sign
run: |
echo "给apk增加签名"
@ -39,17 +40,35 @@ 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: 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: 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

Loading…
Cancel
Save