Merge pull request 'Forgejo v1.21 is EOL & add v9.0' (#238) from earl-warren/end-to-end:wip-9.0 into main
Reviewed-on: https://code.forgejo.org///forgejo/end-to-end/pulls/238
This commit is contained in:
commit
996373c707
18 changed files with 19 additions and 132 deletions
|
@ -33,7 +33,7 @@ Use setup-forgejo from source.
|
|||
|
||||
The [setup-forgejo](https://code.forgejo.org/actions/setup-forgejo)
|
||||
repository is a [Forgejo
|
||||
Action](https://forgejo.org/docs/v1.21/user/actions/) which is meant
|
||||
Action](https://forgejo.org/docs/v7.0/user/actions/) which is meant
|
||||
to be used in workflows. However, it is implemented as shell scripts that
|
||||
can also be used to create Forgejo instances and runners locally. This
|
||||
is convenient for testing and the reason why it needs to be added to the PATH.
|
||||
|
|
|
@ -88,7 +88,7 @@ function actions_runner_version() {
|
|||
}
|
||||
|
||||
function test_actions() {
|
||||
local versions="${1:-1.21 $RELEASE_NUMBERS_AND_DEV}"
|
||||
local versions="${1:-$RELEASE_NUMBERS_AND_DEV}"
|
||||
|
||||
for version in $versions; do
|
||||
|
||||
|
|
|
@ -1,9 +1,3 @@
|
|||
#
|
||||
# As of Forgejo v1.20 running this example would require using the web
|
||||
# endpoints because there is no API to do the same.
|
||||
#
|
||||
# It was manually tested to **not work** with Forgejo v1.21 & runner 3.0.1
|
||||
#
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
|
|
|
@ -1,16 +1,6 @@
|
|||
#!/bin/bash
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
#
|
||||
# Debug loop from the source tree:
|
||||
#
|
||||
# ./end-to-end.sh dependencies
|
||||
# ./end-to-end.sh build_all
|
||||
# VERBOSE=true ./end-to-end.sh test_downgrade_1.20.2_fails
|
||||
#
|
||||
# Everything happens in /tmp/forgejo-end-to-end
|
||||
#
|
||||
|
||||
SELF_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
SELF="${BASH_SOURCE[0]}"
|
||||
source $SELF_DIR/lib/lib.sh
|
||||
|
|
|
@ -150,8 +150,6 @@ function fixture_avatars_assert_local() {
|
|||
function fixture_repo_avatars_create() {
|
||||
echo -n $ONEPIXEL | base64 --decode >$DIR/repo-avatar.png
|
||||
forgejo-curl.sh web --form avatar=@$DIR/repo-avatar.png http://${HOST_PORT}/${FORGEJO_USER}/${FORGEJO_REPO}/settings/avatar
|
||||
# v1.21 only
|
||||
#forgejo-curl.sh api_json -X POST --data-raw '{"body":"'$avatar'"}' http://${HOST_PORT}/api/v1/repos/${FORGEJO_USER}/${FORGEJO_REPO}/avatar
|
||||
}
|
||||
|
||||
function fixture_repo_avatars_assert_s3() {
|
||||
|
|
|
@ -1 +1 @@
|
|||
https://codeberg.org/forgejo/forgejo v7.0/forgejo 7.0.0+gitea-1.22.0
|
||||
https://codeberg.org/forgejo/forgejo v7.0/forgejo 7.0.0+gitea-1.21.0
|
||||
|
|
|
@ -1 +1 @@
|
|||
https://codeberg.org/forgejo/forgejo forgejo 8.0.0+gitea-1.21.0
|
||||
https://codeberg.org/forgejo/forgejo v8.0/forgejo 8.0.0+gitea-1.22.0
|
||||
|
|
|
@ -26,7 +26,7 @@ IP=$(hostname -I | cut -f1 -d' ')
|
|||
#
|
||||
# Forgejo releases for which a branch exists (7.0/forgejo etc.)
|
||||
#
|
||||
RELEASE_NUMBERS="7.0 8.0"
|
||||
RELEASE_NUMBERS="7.0 8.0 9.0"
|
||||
|
||||
PREFIX===============
|
||||
export DIR=/tmp/forgejo-end-to-end
|
||||
|
|
26
packages/alpine-1.21/package-source/APKBUILD
vendored
26
packages/alpine-1.21/package-source/APKBUILD
vendored
|
@ -1,26 +0,0 @@
|
|||
# -*- mode: Shell-script; eval: (setq indent-tabs-mode 't); eval: (setq tab-width 4) -*-
|
||||
# Maintainer: Dominic Meiser <git@msrd0.de>
|
||||
pkgname=forgejo-2174
|
||||
pkgver=1.0
|
||||
pkgrel=0
|
||||
pkgdesc="Forgejo #2174 Reproduction"
|
||||
url="https://msrd0.dev/msrd0/$pkgname"
|
||||
arch="x86_64"
|
||||
license="custom"
|
||||
|
||||
# using x86_64 instead of noarch as a workaround of
|
||||
# https://codeberg.org/forgejo/forgejo/issues/2173
|
||||
subpackages="$pkgname-openrc::x86_64"
|
||||
|
||||
source="forgejo_2174 forgejo_2174.init"
|
||||
builddir="$srcdir"
|
||||
|
||||
package() {
|
||||
install -D -m755 "$srcdir/forgejo_2174" "$pkgdir"/usr/bin/forgejo_2174
|
||||
install -D -m755 "$srcdir/forgejo_2174.init" "$pkgdir"/etc/init.d/forgejo_2174
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
651c2a816510a18981bcd45077eb5acd6e58511d641949ddc690e326b81018d851eb7f1c88e2336eada2f216606ce2aa0569eb2d02d7c423c80705cc00acf838 forgejo_2174
|
||||
b1cba77139cdaf9e0cdd78de93becbb3891ec59646e8d2cb40620b230bd798d51e6d9c58e65b584812a6bb8eb2b9c9f89262a8700a39c62af8ec8ea09aee4e29 forgejo_2174.init
|
||||
"
|
|
@ -1,3 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
echo "Hello World"
|
|
@ -1,7 +0,0 @@
|
|||
#!/sbin/openrc-run
|
||||
|
||||
command="/usr/bin/forgejo_2174"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
}
|
58
packages/alpine-1.21/test.sh
vendored
58
packages/alpine-1.21/test.sh
vendored
|
@ -1,58 +0,0 @@
|
|||
#!/bin/busybox ash
|
||||
set -exuo pipefail
|
||||
|
||||
forgejo_url=$1
|
||||
forgejo_token=$2
|
||||
|
||||
# initialize abuild
|
||||
apk update
|
||||
apk add --no-cache alpine-sdk sudo util-linux
|
||||
adduser -D user -h /home/user
|
||||
addgroup user abuild
|
||||
echo "root ALL=(ALL) ALL" >/etc/sudoers
|
||||
echo "%abuild ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
|
||||
mkdir -p /var/cache/distfiles
|
||||
chgrp abuild /var/cache/distfiles
|
||||
chmod 775 /var/cache/distfiles
|
||||
mkdir -p "/home/user/.abuild"
|
||||
echo "/home/user/.abuild/user.rsa" | abuild-keygen -i -b 4096
|
||||
echo 'PACKAGER_PRIVKEY=/home/user/.abuild/user.rsa' >/home/user/.abuild/abuild.conf
|
||||
chown -R "user:user" /home/user/
|
||||
|
||||
# make sure we own the relevant directory
|
||||
cp -r package-source /srv/alpine
|
||||
cd /srv
|
||||
mkdir packages
|
||||
echo "REPODEST=/srv/packages" >>/home/user/.abuild/abuild.conf
|
||||
cat /home/user/.abuild/abuild.conf
|
||||
chown -R user:user alpine packages
|
||||
|
||||
# build the package
|
||||
sudo -u user APKBUILD=alpine/APKBUILD abuild -r
|
||||
|
||||
# upload new package
|
||||
cd packages/srv/x86_64/
|
||||
for file in $(find . -name '*.apk' -type f | sed -e 's,./,,'); do
|
||||
# remove old package
|
||||
curl \
|
||||
--fail \
|
||||
-H "Authorization: token $forgejo_token" \
|
||||
-X DELETE \
|
||||
"$forgejo_url/api/packages/root/alpine/3.19/forgejo-2174/$file" ||
|
||||
true
|
||||
|
||||
# upload new package
|
||||
curl \
|
||||
--fail \
|
||||
-H "Authorization: token $forgejo_token" \
|
||||
-T "$file" \
|
||||
"$forgejo_url/api/packages/root/alpine/3.19/forgejo-2174"
|
||||
done
|
||||
|
||||
# ensure that the install-if condition works as expected
|
||||
apk add openrc
|
||||
(cd /etc/apk/keys && curl -JO $forgejo_url/api/packages/root/alpine/key)
|
||||
echo "$forgejo_url/api/packages/root/alpine/3.19/forgejo-2174" >>/etc/apk/repositories
|
||||
apk add forgejo-2174
|
||||
[ -e /usr/bin/forgejo_2174 ] # from the installed package
|
||||
[ -e /etc/init.d/forgejo_2174 ] # from the -openrc package installed because of the install-if condition
|
|
@ -6,7 +6,7 @@ forgejo_token=$2
|
|||
|
||||
# initialize abuild
|
||||
apk update
|
||||
apk add --no-cache alpine-sdk sudo util-linux
|
||||
apk add --no-cache alpine-sdk sudo util-linux curl
|
||||
adduser -D user -h /home/user
|
||||
addgroup user abuild
|
||||
echo "root ALL=(ALL) ALL" >/etc/sudoers
|
||||
|
|
1
packages/alpine-9.0-dev
Symbolic link
1
packages/alpine-9.0-dev
Symbolic link
|
@ -0,0 +1 @@
|
|||
alpine-7.0-test
|
|
@ -16,8 +16,8 @@ function test_packages_alpine_version() {
|
|||
}
|
||||
|
||||
function test_packages_alpine() {
|
||||
for alpine_version in 3.18 3.19; do
|
||||
for forgejo_version in 1.21 7.0-test 7.0-dev; do
|
||||
for alpine_version in 3.19 3.20; do
|
||||
for forgejo_version in 7.0-dev 9.0-dev; do
|
||||
test_packages_alpine_version $alpine_version $forgejo_version
|
||||
done
|
||||
done
|
||||
|
|
|
@ -31,9 +31,7 @@ function test_storage_stable_s3() {
|
|||
local work_path=$DIR/forgejo-work-path
|
||||
local s3_backend=${1:-minio}
|
||||
|
||||
log_info "See also https://codeberg.org/forgejo/forgejo/issues/1338"
|
||||
|
||||
for version in 1.21 $RELEASE_NUMBERS_AND_DEV; do
|
||||
for version in $RELEASE_NUMBERS_AND_DEV; do
|
||||
log_info "Forgejo $version & $s3_backend"
|
||||
stop
|
||||
storage_reset stable-s3
|
||||
|
|
|
@ -28,13 +28,13 @@ function test_forgejo_pprof() {
|
|||
docker run --name test_pyroscope --rm -d -p 4040:4040 docker.io/grafana/pyroscope
|
||||
|
||||
reset_forgejo $UPGRADE_DIR/default-app.ini
|
||||
log_info "run 7.0-test"
|
||||
start 7.0-test
|
||||
log_info "run 7.0-dev"
|
||||
start 7.0-dev
|
||||
test_upload_profiles
|
||||
stop
|
||||
|
||||
log_info "run 8.0-test"
|
||||
start 8.0-test
|
||||
log_info "run 9.0-dev"
|
||||
start 9.0-dev
|
||||
test_upload_profiles
|
||||
stop
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ function test_successful_upgrades() {
|
|||
log_info "using $config"
|
||||
upgrade_reset $config
|
||||
|
||||
version=1.21
|
||||
version=7.0
|
||||
log_info "run $version"
|
||||
cleanup_storage
|
||||
start $version
|
||||
|
@ -52,9 +52,9 @@ function test_successful_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
|
||||
echo gitea 1.21 forgejo 7.0-dev
|
||||
echo gitea 1.21 forgejo 9.0-dev
|
||||
echo gitea 1.22 forgejo 9.0-dev
|
||||
) | while read gitea gitea_version forgejo forgejo_version; do
|
||||
log_info "upgrading from Gitea $gitea_version to Forgejo $forgejo_version"
|
||||
stop
|
||||
|
|
Loading…
Add table
Reference in a new issue