end-to-end/upgrade/upgrade.sh

89 lines
2 KiB
Bash
Raw Normal View History

# SPDX-License-Identifier: MIT
2024-08-07 08:31:33 +02:00
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
2024-08-07 08:31:33 +02:00
for path in ${STORAGE_PATHS}; do
test -d $work_path/data/$path
done
}
function cleanup_storage() {
local work_path=$DIR/forgejo-work-path
2024-08-07 08:31:33 +02:00
for path in ${STORAGE_PATHS}; do
rm -fr $work_path/data/$path
done
}
function test_successful_upgrades() {
2024-03-17 17:22:44 +01:00
stop
2024-08-07 08:31:33 +02:00
for config in $UPGRADE_DIR/default-app.ini; do
log_info "using $config"
upgrade_reset $config
version=7.0
2024-03-17 17:22:44 +01:00
log_info "run $version"
cleanup_storage
start $version
fixture_create
fixture_assert
doctor_run $config
2024-03-17 17:22:44 +01:00
for version in $RELEASE_NUMBERS; do
2024-03-17 17:22:44 +01:00
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
echo gitea 1.21 forgejo 9.0
echo gitea 1.22 forgejo 9.0
2024-08-07 08:31:33 +02:00
) | 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
}
2024-04-01 01:47:56 +02:00
source $UPGRADE_DIR/test-pprof-upload.sh
function test_upgrades() {
run dependencies
run test_successful_upgrades
2024-04-01 01:47:56 +02:00
run test_forgejo_pprof
run test_gitea_upgrades
}