pentoo-overlay/scripts/qa/test-build
Rick Farina (Zero_Chaos) 7cebd91e7a
this should work better
2025-12-12 19:43:41 -05:00

21 lines
1.1 KiB
Bash
Executable file

#!/bin/bash
FAILED="0"
for i in $(git --no-pager diff --name-only "$(git rev-parse --verify origin/master 2> /dev/null)" HEAD); do
if [ "${i%.ebuild}" != "${i}" ]; then
printf "%s looks like an ebuild, testing\n" "${i}"
# This will test arch and ~arch but not no keywords
printf '%s' "${i%.ebuild}" | awk -F'/' '{print "="$1"/"$3"}' >> /etc/portage/package.accept_keywords
if FEATURES="-ipc-sandbox -network-sandbox -pid-sandbox" emerge --getbinpkg=y --buildpkg=n --jobs="$(nproc)" --load-average="$(nproc)" --verbose "$(printf '%s' "${i%.ebuild}" | awk -F'/' '{print "="$1"/"$3}')" --pretend; then
printf '%s appears to be unmasked, build testing' "${i}"
if FEATURES="-ipc-sandbox -network-sandbox -pid-sandbox" emerge --getbinpkg=y --buildpkg=n --jobs="$(nproc)" --load-average="$(nproc)" --verbose "$(printf '%s' "${i%.ebuild}" | awk -F'/' '{print "="$1"/"$3}')"; then
printf '%s build SUCCESS\n' "${i}"
else
printf '%s build FAILED\n' "${i}"
FAILED="1"
fi
else
printf '%s appears to be masked, skipping build test\n' "${i}"
fi
fi
done
exit "${FAILED}"