end-to-end/lib/build.sh

43 lines
929 B
Bash
Raw Normal View History

2023-10-26 23:39:08 +02:00
#!/bin/bash
2024-01-24 00:03:34 +01:00
# Copyright 2024 The Forgejo Authors
# SPDX-License-Identifier: MIT
2023-10-26 23:39:08 +02:00
set -ex
2024-08-07 08:31:33 +02:00
SELF_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
2023-10-26 23:39:08 +02:00
version=$1
dir_binaries=$2
2023-10-26 23:39:08 +02:00
v=$(echo $version | sed -E -e 's/^([0-9]+\.[0-9]+).*/\1/')
src=$dir_binaries/src-$v
2024-08-07 08:31:33 +02:00
read url ref semver <$SELF_DIR/../forgejo/sources/$v
2023-10-26 23:39:08 +02:00
2024-08-07 08:31:33 +02:00
if ! test -d $src; then
mkdir -p $src
cd $src
git init
git remote add origin $url
2023-10-27 18:13:18 +02:00
else
cd $src
2023-10-27 18:13:18 +02:00
fi
2024-08-07 08:31:33 +02:00
if ! [[ "$ref" =~ ^refs/ ]]; then
ref=refs/heads/$ref
fi
2024-08-07 08:31:33 +02:00
for retry in 1 2 3; do
if timeout 15m git fetch --update-head-ok origin +$ref:$ref; then
break
else
2024-08-07 08:31:33 +02:00
echo "Retry git fetch in 60 seconds"
sleep 60
fi
done
git fetch --update-head-ok origin +$ref:$ref
git switch --force-create $v $ref
export TAGS="bindata sqlite sqlite_unlock_notify" FORGEJO_VERSION=$semver
2023-10-26 23:39:08 +02:00
make deps-backend backend
make generate forgejo
cp -a forgejo $dir_binaries/forgejo-$v-dev