# SPDX-License-Identifier: MIT UPGRADE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" function upgrade_reset() { local config=$1 reset_forgejo $UPGRADE_DIR/$config-app.ini reset_minio } function verify_storage() { local work_path=$DIR/forgejo-work-path for path in ${STORAGE_PATHS} ; do test -d $work_path/data/$path done } function cleanup_storage() { local work_path=$DIR/forgejo-work-path for path in ${STORAGE_PATHS} ; do rm -fr $work_path/data/$path done } function test_successful_upgrades() { stop for config in default ; do log_info "using $config app.ini" upgrade_reset $config version=1.21 log_info "run $version" cleanup_storage start $version fixture_create fixture_assert doctor_run $version for version in $RELEASE_NUMBERS_AND_DEV ; do stop log_info "run $version" start $version verify_storage fixture_assert doctor_run $version done done } function download_gitea() { local version=$1 if ! test -f $DIR_BINARIES/gitea-$version ; then mkdir -p $DIR_BINARIES wget -O $DIR_BINARIES/gitea-$version --quiet https://dl.gitea.com/gitea/$version/gitea-$version-linux-amd64 chmod +x $DIR_BINARIES/gitea-$version fi } function start_gitea() { local version=$1 download_gitea $version start_forgejo_daemon $version $DIR_BINARIES/gitea-$version } function test_gitea_upgrades() { stop for config in default ; do log_info "using $config app.ini" upgrade_reset $config version=1.21.10 log_info "run gitea $version" cleanup_storage start_s3 minio start_gitea $version fixture_create fixture_assert doctor_run $version for version in 7.0-test ; do stop log_info "run forgejo $version" start $version verify_storage fixture_assert doctor_run $version done done } source $UPGRADE_DIR/test-pprof-upload.sh function test_upgrades() { run dependencies run build_all run test_successful_upgrades run test_forgejo_pprof run test_gitea_upgrades }