upgrades: add Gitea 1.22.0 & 1.21.11 to Forgejo 8.0-test

This commit is contained in:
Twenty Panda 2024-06-22 11:40:33 +02:00
parent 9cfd043b8a
commit c1ce4361b9
2 changed files with 63 additions and 45 deletions

View file

@ -113,7 +113,7 @@ function full_version() {
fi fi
} }
function download() { function download_forgejo() {
local version=$1 local version=$1
if ! test -f $DIR_BINARIES/forgejo-$version ; then if ! test -f $DIR_BINARIES/forgejo-$version ; then
@ -129,7 +129,7 @@ function download() {
done done
if test -s $DIR_BINARIES/forgejo-$version ; then if test -s $DIR_BINARIES/forgejo-$version ; then
if test "$version" != "$full_version" ; then if test "$version" != "$full_version" ; then
log_info "downloaded $full_version for $version" log_info "downloaded Forgejo $full_version for $version"
fi fi
else else
echo unable to download Forgejo $version echo unable to download Forgejo $version
@ -139,6 +139,31 @@ function download() {
fi fi
} }
function download_gitea() {
local version=$1
if ! test -f $DIR_BINARIES/gitea-$version ; then
mkdir -p $DIR_BINARIES
if [[ $version =~ ^[0-9]+\.[0-9]+$ ]] ; then
full_version=$(curl -sS "https://api.github.com/repos/go-gitea/gitea/releases?per_page=100" | jq -r '.[] | .tag_name | select(startswith("v'$version'"))' | grep -v -e '-rc' | sort --reverse --version-sort | head -1)
full_version=${full_version#v}
else
full_version=$version
fi
wget -O $DIR_BINARIES/gitea-$version --quiet https://dl.gitea.com/gitea/$full_version/gitea-$full_version-linux-amd64
if test -s $DIR_BINARIES/gitea-$version ; then
if test "$version" != "$full_version" ; then
log_info "downloaded Gitea $full_version for $version"
fi
else
echo unable to download Gitea $version
return 1
fi
chmod +x $DIR_BINARIES/gitea-$version
fi
}
function cleanup_logs() { function cleanup_logs() {
local config=$1 local config=$1
@ -159,11 +184,19 @@ function stop_forgejo() {
stop_daemon $(work_path_base $config) stop_daemon $(work_path_base $config)
} }
function start_gitea() {
local version=$1
local config=$2
download_gitea $version
start_forgejo_daemon $version $DIR_BINARIES/gitea-$version $config
}
function start_forgejo() { function start_forgejo() {
local version=$1 local version=$1
local config=$2 local config=$2
download $version download_forgejo $version
start_forgejo_daemon $version $DIR_BINARIES/forgejo-$version $config start_forgejo_daemon $version $DIR_BINARIES/forgejo-$version $config
} }

View file

@ -49,47 +49,32 @@ function test_successful_upgrades() {
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() { 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 stop
for config in $UPGRADE_DIR/default-app.ini ; do
log_info "using $config"
upgrade_reset $config upgrade_reset $config
version=1.21.10 log_info "run Gitea $gitea_version"
log_info "run gitea $version"
cleanup_storage cleanup_storage
start_s3 minio start_s3 minio
start_gitea $version start_gitea $gitea_version $config
fixture_create fixture_create
fixture_assert fixture_assert
doctor_run $config doctor_run $config
for version in 7.0-test ; do
stop stop
log_info "run forgejo $version" log_info "run Forgejo $forgejo_version"
start $version start $forgejo_version
verify_storage verify_storage
fixture_assert fixture_assert
doctor_run $config doctor_run $config
done done
done
} }
source $UPGRADE_DIR/test-pprof-upload.sh source $UPGRADE_DIR/test-pprof-upload.sh