ci: check apps that have --experimental args

This commit is contained in:
j-hc
2022-08-12 20:06:05 +03:00
parent ed417df38a
commit 2759f71f87
2 changed files with 39 additions and 14 deletions

View File

@ -15,21 +15,44 @@ jobs:
- name: Should build? - name: Should build?
id: should_build id: should_build
shell: bash
run: | run: |
source build.conf
source utils.sh
is_youtube_latest() {
if [[ $YT_PATCHER_ARGS == *"--experimental"* ]]; then
declare -r cur_yt=$(sed -n 's/.*YouTube version: \(.*\)/\1/p' latest_build.md | xargs)
[ -z "$cur_yt" ] && return 1 # empty, fail=>dont build
declare -r last_ver=$(get_apk_vers "https://www.apkmirror.com/uploads/?appcategory=youtube" | get_largest_ver)
echo "current yt version: $cur_yt"
echo "latest yt version: $last_ver"
[ "$cur_yt" != "$last_ver" ] # test success=>build, fail=>dont build
else
return 1 # not experimental, dont build
fi
}
is_patches_latest() {
declare -r last_patches_url=$(wget -nv -O- https://api.github.com/repos/revanced/revanced-patches/releases/latest | tr -d ' ' | sed -n 's/.*"browser_download_url":"\(.*jar\)".*/\1/p')
declare -r last_patches=${last_patches_url##*/}
cur_patches=$(sed -n 's/.*Patches: \(.*\)/\1/p' latest_build.md | xargs)
echo "current patches version: $cur_patches"
echo "latest patches version: $last_patches"
[ "$cur_patches" != "$last_patches" ] # test success=>build, fail=>dont build
}
if ! git checkout update; then if ! git checkout update; then
echo "first time building!"
echo ::set-output name=SHOULD_BUILD::1
elif is_patches_latest || is_youtube_latest; then
echo "build!"
echo ::set-output name=SHOULD_BUILD::1 echo ::set-output name=SHOULD_BUILD::1
else else
RV_PATCHES_URL=$(wget -nv -O- https://api.github.com/repos/revanced/revanced-patches/releases/latest | tr -d ' ' | sed -n 's/.*"browser_download_url":"\(.*jar\)".*/\1/p') echo "dont build!"
RV_PATCHES="$(echo "$RV_PATCHES_URL" | awk -F/ '{ print $NF }')" echo ::set-output name=SHOULD_BUILD::0
CUR_PATCHES=$(sed -n 's/.*Patches: \(.*\)/\1/p' latest_build.md | xargs)
echo "current patches version: $CUR_PATCHES"
echo "latest patches version: $RV_PATCHES"
if [ "$CUR_PATCHES" = "$RV_PATCHES" ]; then
echo "dont build!"
echo ::set-output name=SHOULD_BUILD::0
else
echo ::set-output name=SHOULD_BUILD::1
fi
fi fi
outputs: outputs:

View File

@ -18,14 +18,16 @@ CUSTOMIZE_SH=$(cat $MODULE_SCRIPTS_DIR/customize.sh)
get_prebuilts() { get_prebuilts() {
echo "Getting prebuilts" echo "Getting prebuilts"
RV_CLI_URL=$(req https://api.github.com/repos/j-hc/revanced-cli/releases/latest - | tr -d ' ' | sed -n 's/.*"browser_download_url":"\(.*jar\)".*/\1/p') RV_CLI_URL=$(req https://api.github.com/repos/j-hc/revanced-cli/releases/latest - | tr -d ' ' | sed -n 's/.*"browser_download_url":"\(.*jar\)".*/\1/p')
RV_CLI_JAR="${TEMP_DIR}/$(echo "$RV_CLI_URL" | awk -F/ '{ print $NF }')" RV_CLI_JAR="${TEMP_DIR}/${RV_CLI_URL##*/}"
log "CLI: ${RV_CLI_JAR#"$TEMP_DIR/"}" log "CLI: ${RV_CLI_JAR#"$TEMP_DIR/"}"
RV_INTEGRATIONS_URL=$(req https://api.github.com/repos/revanced/revanced-integrations/releases/latest - | tr -d ' ' | sed -n 's/.*"browser_download_url":"\(.*apk\)".*/\1/p') RV_INTEGRATIONS_URL=$(req https://api.github.com/repos/revanced/revanced-integrations/releases/latest - | tr -d ' ' | sed -n 's/.*"browser_download_url":"\(.*apk\)".*/\1/p')
RV_INTEGRATIONS_APK="${TEMP_DIR}/$(echo "$RV_INTEGRATIONS_URL" | awk '{n=split($0, arr, "/"); printf "%s-%s.apk", substr(arr[n], 0, length(arr[n]) - 4), arr[n-1]}')" RV_INTEGRATIONS_APK=${RV_INTEGRATIONS_URL##*/}
RV_INTEGRATIONS_APK="${TEMP_DIR}/${RV_INTEGRATIONS_APK%.apk}-$(cut -d/ -f8 <<<"$RV_INTEGRATIONS_URL").apk"
log "Integrations: ${RV_INTEGRATIONS_APK#"$TEMP_DIR/"}" log "Integrations: ${RV_INTEGRATIONS_APK#"$TEMP_DIR/"}"
RV_PATCHES_URL=$(req https://api.github.com/repos/revanced/revanced-patches/releases/latest - | tr -d ' ' | sed -n 's/.*"browser_download_url":"\(.*jar\)".*/\1/p') RV_PATCHES_URL=$(req https://api.github.com/repos/revanced/revanced-patches/releases/latest - | tr -d ' ' | sed -n 's/.*"browser_download_url":"\(.*jar\)".*/\1/p')
RV_PATCHES_JAR="${TEMP_DIR}/$(echo "$RV_PATCHES_URL" | awk -F/ '{ print $NF }')" RV_PATCHES_JAR="${TEMP_DIR}/${RV_PATCHES_URL##*/}"
log "Patches: ${RV_PATCHES_JAR#"$TEMP_DIR/"}" log "Patches: ${RV_PATCHES_JAR#"$TEMP_DIR/"}"
dl_if_dne "$RV_CLI_JAR" "$RV_CLI_URL" dl_if_dne "$RV_CLI_JAR" "$RV_CLI_URL"