From d2e173439466228adbd5e0c168d9de1fa609030a Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Fri, 6 Oct 2023 00:17:00 +0200 Subject: [PATCH] [UPGRADE] add sanity check for v1.20.5-0 See https://forgejo.org/2023-10-release-v1-20-5-0/ (cherry picked from commit 7d619f79a0ebebf0de49be6175701769db04f7c2) (cherry picked from commit ce5c75e1532894c180c66c38f828fd647c3b8174) (cherry picked from commit 252c81f2bc16a3409c144fd5061c9c249af9be8d) (cherry picked from commit 552920251decd5a785076df22cb83b3317f8f437) (cherry picked from commit 15f1c851f0b83088e7c9ec815ee991a81ded94e9) (cherry picked from commit 9e542dcb302d5696b9fe2ea5889f641fd095c574) (cherry picked from commit 843f08fefd85ed62231db7aac8be4e1334ba3a41) --- .forgejo/upgrades/test-upgrade.sh | 45 ++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/.forgejo/upgrades/test-upgrade.sh b/.forgejo/upgrades/test-upgrade.sh index 287a92a591..941301cbf2 100755 --- a/.forgejo/upgrades/test-upgrade.sh +++ b/.forgejo/upgrades/test-upgrade.sh @@ -42,12 +42,12 @@ function log_info() { function dependencies() { maybe_sudo if ! which curl daemon jq git-lfs > /dev/null ; then - $SUDO apt-get install -y -qq curl daemon git-lfs jq + $SUDO apt-get install -y -qq curl daemon git-lfs jq sqlite3 fi if ! test -f /usr/local/bin/mc || ! test -f /usr/local/bin/minio > /dev/null ; then $SUDO curl --fail -sS https://dl.min.io/client/mc/release/linux-amd64/mc -o /usr/local/bin/mc - $SUDO curl --fail -sS https://dl.min.io/server/minio/release/linux-amd64/archive/minio.RELEASE.2023-08-23T10-07-06Z -o /usr/local/bin/minio + $SUDO curl --fail -sS https://dl.min.io/server/minio/release/linux-amd64/minio -o /usr/local/bin/minio fi if ! test -x /usr/local/bin/mc || ! test -x /usr/local/bin/minio > /dev/null ; then $SUDO chmod +x /usr/local/bin/mc @@ -101,7 +101,11 @@ function download() { if ! test -f $DIR/forgejo-$version ; then mkdir -p $DIR - wget -O $DIR/forgejo-$version --quiet https://codeberg.org/forgejo/forgejo/releases/download/v$version/forgejo-$version-linux-amd64 + for owner in forgejo forgejo-experimental forgejo-integration ; do + if wget -O $DIR/forgejo-$version --quiet https://codeberg.org/$owner/forgejo/releases/download/v$version/forgejo-$version-linux-amd64 ; then + break + fi + done chmod +x $DIR/forgejo-$version fi } @@ -555,6 +559,40 @@ function test_successful_upgrades() { done } +function test_forgejo_database_version() { + local expected_version=$1 + local work_path=$DIR/forgejo-work-path + + actual_version=$(sqlite3 $work_path/forgejo.db "select version from forgejo_version") + test "$expected_version" = "$actual_version" +} + +function test_forgejo_database_v3_upgrades_list_table() { + local table=$1 + local work_path=$DIR/forgejo-work-path + + sqlite3 $work_path/forgejo.db ".tables $table" .exit | grep --quiet $table +} + +function test_forgejo_database_v3_upgrades() { + local table=forgejo_auth_token + + stop + + reset default + log_info "run 1.20.4-1" + start 1.20.4-1 + stop + ! test_forgejo_database_v3_upgrades_list_table $table + test_forgejo_database_version 2 + + log_info "run 1.20.5-0" + start 1.20.5-0 + stop + test_forgejo_database_v3_upgrades_list_table $table + test_forgejo_database_version 3 +} + function run() { local fun=$1 shift @@ -585,6 +623,7 @@ function test_upgrades() { run test_bug_storage_s3_misplace run test_storage_stable_s3 minio run test_storage_stable_s3 garage + run test_forgejo_database_v3_upgrades } "$@"