lib: remove RELEASE_NUMBERS_AND_DEV, use RELEASE_NUMBERS

In the lifecycle of vX.Y.Z, all tests are run against vX.Y-test
before it is published, including when the tag is pushed because the
automated release process now runs end-to-end before pushing the
release to forgejo-experimental.

Running end-to-end against vX.Y-dev is therefore redundant with at least
two other runs with exactly the same SHA (the one before the tag is
pushed and the one when the tag is pushed). There would be value in
doing that if it allowed to detect race conditions in Forgejo. But
such races were not found in the past six months and there is a lot
more scrutiny on commits merged in Forgejo which makes it even less
likely than it was before.

Running the tests on vX.Y instead of also including the built version
provide the same coverage and reduces the workload.
This commit is contained in:
Earl Warren 2024-08-08 16:48:39 +02:00
parent 996373c707
commit 427c46dbf9
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
15 changed files with 5 additions and 7 deletions

View file

@ -0,0 +1,24 @@
# -*- mode: Shell-script; eval: (setq indent-tabs-mode 't); eval: (setq tab-width 4) -*-
# Maintainer: Dominic Meiser <git@msrd0.de>
pkgname=forgejo-2173
pkgver=1.0
pkgrel=0
pkgdesc="Forgejo #2173 Reproduction"
url="https://msrd0.dev/msrd0/$pkgname"
arch="noarch"
license="custom"
subpackages="$pkgname-openrc"
source="forgejo_2173 forgejo_2173.init"
builddir="$srcdir"
package() {
install -D -m755 "$srcdir/forgejo_2173" "$pkgdir"/usr/bin/forgejo_2173
install -D -m755 "$srcdir/forgejo_2173.init" "$pkgdir"/etc/init.d/forgejo_2173
}
sha512sums="
651c2a816510a18981bcd45077eb5acd6e58511d641949ddc690e326b81018d851eb7f1c88e2336eada2f216606ce2aa0569eb2d02d7c423c80705cc00acf838 forgejo_2173
abc3b1c91bd69478e8e0d46a31148bcd5b4e7838dc35e7b601673866d7e925d70ab70d63c32df98aad060134eaaa6f957691c2c4397d85af5a77f9773de21b5b forgejo_2173.init
"

View file

@ -0,0 +1,3 @@
#!/bin/sh
echo "Hello World"

View file

@ -0,0 +1,7 @@
#!/sbin/openrc-run
command="/usr/bin/forgejo_2173"
depend() {
need net
}

View file

@ -0,0 +1,26 @@
# -*- 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
"

View file

@ -0,0 +1,3 @@
#!/bin/sh
echo "Hello World"

View file

@ -0,0 +1,7 @@
#!/sbin/openrc-run
command="/usr/bin/forgejo_2174"
depend() {
need net
}

63
packages/alpine-7.0/test.sh vendored Executable file
View file

@ -0,0 +1,63 @@
#!/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 curl
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/forgejo-2174/APKBUILD abuild -r
# build the package
sudo -u user APKBUILD=alpine/forgejo-2173/APKBUILD abuild -r
# upload new package
cd packages/alpine/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/e2e-tests/$file" ||
true
# upload new package
curl \
--fail \
-H "Authorization: token $forgejo_token" \
-T "$file" \
"$forgejo_url/api/packages/root/alpine/3.19/e2e-tests"
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/e2e-tests" >>/etc/apk/repositories
apk add forgejo-2174 forgejo-2173
[ -e /usr/bin/forgejo_2174 ] # from the installed package
[ -e /usr/bin/forgejo_2173 ] # from the installed package
[ -e /etc/init.d/forgejo_2174 ] # from the -openrc package installed because of the install-if condition
[ -e /etc/init.d/forgejo_2173 ] # from the -openrc package installed because of the install-if condition