# SPDX-License-Identifier: MIT UPGRADE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" function upgrade_reset() { local config=$1 reset_forgejo $config 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 $UPGRADE_DIR/default-app.ini ; do log_info "using $config" upgrade_reset $config version=1.21 log_info "run $version" cleanup_storage start $version fixture_create fixture_assert doctor_run $config for version in $RELEASE_NUMBERS_AND_DEV ; do stop log_info "run $version" start $version verify_storage fixture_assert doctor_run $config done done } function test_gitea_upgrades() { local config=$UPGRADE_DIR/default-app.ini ( echo gitea 1.21 forgejo 7.0-test echo gitea 1.21 forgejo 8.0-test echo gitea 1.22 forgejo 8.0-test ) | while read gitea gitea_version forgejo forgejo_version ; do log_info "upgrading from Gitea $gitea_version to Forgejo $forgejo_version" stop upgrade_reset $config log_info "run Gitea $gitea_version" cleanup_storage start_s3 minio start_gitea $gitea_version $config fixture_create fixture_assert doctor_run $config stop log_info "run Forgejo $forgejo_version" start $forgejo_version verify_storage fixture_assert doctor_run $config 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 }