lib: source build replace the matching release
Instead of having an explicit vX.Y-dev version to be referenced explicitly, a binary built from source replaces the matching version. For instance, if forgejo/build-from-sources contains v9.0, * the development branch is compiled from source * the v9.0 artifact is uploaded * prior to running any test, the artificat is downloaded and used * the v9.0 binary is not downloaded from forgejo/experimental/integration because it is already present The vX.Y release is built daily and the end-to-end tests run on it. If a regression is introduced, it will be spotted within 24h. Compiling from source is used when the Forgejo runs the end-to-end suite on a specific pull request.
This commit is contained in:
parent
427c46dbf9
commit
149c6a545c
5 changed files with 19 additions and 26 deletions
|
@ -31,8 +31,15 @@ jobs:
|
|||
go-version: "1.22"
|
||||
- name: lib/build.sh
|
||||
run: |
|
||||
set -x
|
||||
mkdir $d /tmp/forgejo-upload
|
||||
touch /tmp/forgejo-upload/PLACEHOLDER
|
||||
|
||||
if ! test -f forgejo/build-from-sources; then
|
||||
echo forgejo/build-from-sources is not present, do not build any version from source
|
||||
exit 0
|
||||
fi
|
||||
|
||||
set -x
|
||||
#
|
||||
# SQLite needs gcc to be compiled
|
||||
#
|
||||
|
@ -41,13 +48,12 @@ jobs:
|
|||
apt-get -q install -y -qq build-essential
|
||||
|
||||
d=/tmp/forgejo-binaries
|
||||
mkdir $d /tmp/forgejo-upload
|
||||
|
||||
for version in $(ls forgejo/sources) ; do
|
||||
forgejo=$d/forgejo-$version-dev
|
||||
for version in $(cat forgejo/build-from-sources) ; do
|
||||
lib/build.sh $version $d
|
||||
forgejo=$d/forgejo-$version-dev
|
||||
$forgejo --version
|
||||
mv $forgejo /tmp/forgejo-upload
|
||||
mv $forgejo /tmp/forgejo-upload/forgejo-$version
|
||||
done
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
|
|
Loading…
Add table
Reference in a new issue