Merge pull request 'upgrades: add Gitea 1.21 & 1.22 to Forgejo 8.0-test' (#205) from twenty-panda/end-to-end:wip-gitea into main

Reviewed-on: https://code.forgejo.org/forgejo/end-to-end/pulls/205
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
This commit is contained in:
earl-warren 2024-06-22 11:15:29 +00:00
commit a402d490ba
2 changed files with 63 additions and 45 deletions

View file

@ -113,7 +113,7 @@ function full_version() {
fi
}
function download() {
function download_forgejo() {
local version=$1
if ! test -f $DIR_BINARIES/forgejo-$version ; then
@ -129,7 +129,7 @@ function download() {
done
if test -s $DIR_BINARIES/forgejo-$version ; then
if test "$version" != "$full_version" ; then
log_info "downloaded $full_version for $version"
log_info "downloaded Forgejo $full_version for $version"
fi
else
echo unable to download Forgejo $version
@ -139,6 +139,31 @@ function download() {
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() {
local config=$1
@ -159,11 +184,19 @@ function stop_forgejo() {
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() {
local version=$1
local config=$2
download $version
download_forgejo $version
start_forgejo_daemon $version $DIR_BINARIES/forgejo-$version $config
}

View file

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