containers-gem-compiler/bulk-compiler.sh

66 lines
1.7 KiB
Bash
Raw Normal View History

2021-09-29 19:53:53 +00:00
#!/bin/sh
set -e
2023-02-04 17:21:42 +00:00
set -o pipefail
2021-09-29 19:53:53 +00:00
test -n "${HTTP_BASIC_USER}"
test -n "${HTTP_BASIC_PASSWORD}"
test -n "${SUTTY}"
test -n "${PLATFORM}"
source /etc/os-release
OS_VERSION="$(os-version)"
2021-09-30 00:11:17 +00:00
install -dm 755 -o builder -g builder cache gems
2022-02-15 13:40:45 +00:00
echo "1..$(find build/ -type f | grep -v /.keep | wc -l)"
find build/ -type f | grep -v /.keep | nl |
sed -re "s|\tbuild/([^/]+)/(.*)|&\tbuilt/${ID}/${OS_VERSION}/\1/\2\tfailed/${ID}/${OS_VERSION}/\1/\2\t\1\t\2|" |
2022-02-15 13:40:45 +00:00
while read NUMBER BUILD BUILT FAILED GEM_NAME GEM_VERSION; do
if test -f "${BUILT}" ; then
echo "ok ${NUMBER} - ${GEM_NAME} ${GEM_VERSION} already built, skipping"
continue
fi
2022-02-05 20:54:42 +00:00
2022-02-15 13:40:45 +00:00
if test -f "${FAILED}" ; then
echo "not ok ${NUMBER} - ${GEM_NAME} ${GEM_VERSION} failed previously"
continue
fi
2022-02-05 20:54:42 +00:00
2023-07-18 18:20:01 +00:00
unset EXTRA_PKGS EXTRA_GEMS GEM_COMPILER_FLAGS CMAKE_FLAGS
2021-09-29 19:53:53 +00:00
source "${BUILD}"
2022-02-15 13:23:29 +00:00
set +e
2023-02-04 16:01:11 +00:00
echo '```' > build_log
2021-09-29 19:53:53 +00:00
HTTP_BASIC_USER="${HTTP_BASIC_USER}" \
HTTP_BASIC_PASSWORD="${HTTP_BASIC_PASSWORD}" \
SUTTY="${SUTTY}" \
PLATFORM="${PLATFORM}" \
GEM_NAME="${GEM_NAME}" \
GEM_VERSION="${GEM_VERSION}" \
EXTRA_PKGS="${EXTRA_PKGS}" \
2021-09-30 00:11:17 +00:00
EXTRA_GEMS="${EXTRA_GEMS}" \
2021-10-01 13:35:21 +00:00
GEM_COMPILER_FLAGS="${GEM_COMPILER_FLAGS}" \
2023-07-18 18:20:01 +00:00
CMAKE_FLAGS="${CMAKE_FLAGS}" \
2023-02-04 16:01:11 +00:00
/usr/local/bin/bootstrap 2>&1 | tee -a build_log
2023-02-04 17:21:42 +00:00
status=$?
2023-02-04 16:01:11 +00:00
echo '```' >> build_log
2022-02-05 20:52:44 +00:00
2023-02-04 17:21:42 +00:00
if test $status -ne 0 ; then
2022-02-05 20:54:42 +00:00
BUILT="${FAILED}"
2022-02-15 13:40:45 +00:00
echo "not ok ${NUMBER} - ${GEM_NAME} ${GEM_VERSION} build failed"
2023-02-04 16:01:11 +00:00
tea issue create -t "${ID} ${OS_VERSION} ${GEM_NAME} ${GEM_VERSION} build failed" -d "$(cat build_log)"
2022-02-05 20:52:44 +00:00
fi
2021-09-29 19:53:53 +00:00
2022-02-15 13:23:29 +00:00
set -e
2021-09-29 19:53:53 +00:00
dirname "${BUILT}" | xargs mkdir -p
touch "${BUILT}"
done