104 lines
2.2 KiB
Bash
Executable file
104 lines
2.2 KiB
Bash
Executable file
# 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
|
|
}
|