@@ -36,25 +36,6 @@ disable_version_config() {
3636 sed -i " s:^version=:# version=:g" $CONFIG
3737}
3838
39- bump_canary_version () {
40- # Update version code
41- local code=$( grep_prop magisk.versionCode $GCONFIG )
42- code=$(( code + 1 ))
43- local tag=" canary-$code "
44- sed -i " s:versionCode=.*:versionCode=${code} :g" $GCONFIG
45-
46- # Commit version code changes
47- git add -u .
48- git status
49- git commit -m " Release new canary build" -m " [skip ci]"
50- git tag $tag
51-
52- # Update version name
53- local ver=$( git rev-parse --short=8 HEAD)
54- sed -i " s:version=.*:version=${ver} :g" $CONFIG
55- sed -i " 1s:.*:## Magisk (${ver} ) (${code} ):" $NOTES
56- }
57-
5839# $1 = ver
5940set_version () {
6041 local ver=$1
@@ -69,89 +50,45 @@ set_version() {
6950 git add -u .
7051 git status
7152 git commit -m " Release Magisk v$ver " -m " [skip ci]"
72- git tag $tag
73- }
74-
75- build_apk () {
76- $BUILDCMD clean
77- $BUILDCMD all
78- $BUILDCMD -r all
79- }
80-
81- build_canary () {
82- bump_canary_version
83- build_apk
8453}
8554
8655# $1 = ver
87- build_public () {
56+ build () {
8857 [ -z $1 ] && exit 1
8958 local ver=$1
59+ git pull
9060 set_version $ver
91- build_apk
61+ $BUILDCMD clean
62+ $BUILDCMD all
63+ $BUILDCMD -r all
9264}
9365
9466upload () {
95- # Verify pattern
96- [[ " $1 " =~ canary| beta| stable ]]
97- local type=$1
98-
9967 gh auth status
10068
101- local latest_tag=$( git describe --abbrev=0 --tags)
102- local ver=$( grep_prop version $CONFIG )
10369 local code=$( grep_prop magisk.versionCode $GCONFIG )
104- local out=$( grep_prop outdir $CONFIG )
105- local tag title
70+ local ver=$( echo - | awk " { print $code / 1000 }" )
71+ local tag=" v$ver "
72+ local title=" Magisk v$ver "
10673
74+ local out=$( grep_prop outdir $CONFIG )
10775 if [ -z $out ]; then
10876 out=out
10977 fi
11078
79+ git tag $tag
11180 git push origin master
11281 git push --tags
11382
11483 # Prepare release notes
11584 tail -n +3 $NOTES > release.md
11685
117- case $type in
118- canary )
119- tag=" canary-$code "
120- title=" Magisk ($ver ) ($code )"
121-
122- # Assert tag format
123- [ $latest_tag = $tag ]
124-
125- # Publish release
126- gh release create --verify-tag $tag -p -t " $title " -F release.md $out /app-release.apk $out /app-debug.apk $NOTES
127- ;;
128- beta|stable )
129- tag=" v$ver "
130- title=" Magisk v$ver "
131-
132- # Assert tag format
133- [ $latest_tag = $tag ]
134-
135- # Publish release
136- local release_apk=" Magisk-v${ver} .apk"
137- cp $out /app-release.apk $release_apk
138- gh release create --verify-tag $tag -p -t " $title " -F release.md $release_apk $out /app-debug.apk $NOTES
139- rm -f $release_apk
140- ;;
141- esac
142-
143- # If publishing stable, make it not prerelease and explicitly latest
144- if [ $type = " stable" ]; then
145- gh release edit $tag --prerelease=false --latest
146- fi
86+ # Publish release
87+ local release_apk=" Magisk-v${ver} .apk"
88+ cp $out /app-release.apk $release_apk
89+ gh release create --verify-tag $tag -p -t " $title " -F release.md $release_apk $out /app-debug.apk $NOTES
14790
148- rm -f release.md
149- }
150-
151- revert () {
152- local latest_tag=$( git describe --abbrev=0 --tags)
153- git tag -d $latest_tag
154- git reset --hard HEAD~
91+ rm -f $release_apk release.md
15592}
15693
15794# Use GNU sed on macOS
@@ -160,14 +97,10 @@ if command -v gsed >/dev/null; then
16097 export -f sed
16198fi
16299
163- git pull
164-
165100trap disable_version_config EXIT
166101ensure_config
167102case $1 in
168- canary ) build_canary ;;
169- public ) build_public $2 ;;
170- upload ) upload $2 ;;
171- revert ) revert ;;
103+ build ) build $2 ;;
104+ upload ) upload ;;
172105 * ) exit 1 ;;
173106esac
0 commit comments