diff options
Diffstat (limited to 'fluent-bit/packaging/local-build-all.sh')
-rwxr-xr-x | fluent-bit/packaging/local-build-all.sh | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/fluent-bit/packaging/local-build-all.sh b/fluent-bit/packaging/local-build-all.sh new file mode 100755 index 000000000..12188e796 --- /dev/null +++ b/fluent-bit/packaging/local-build-all.sh @@ -0,0 +1,38 @@ +#!/bin/bash +set -eux +SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" + +# Simple script to test a build of all supported targets. +# To build multi-arch, QEMU can be used and ideally buildkit support in Docker. +# +# Follow the relevant instructions to do this for your OS, e.g. for Ubuntu it may be: +# $ sudo apt-get install qemu binfmt-support qemu-user-static # Install the qemu packages +# $ docker run --rm --privileged multiarch/qemu-user-static --reset -p yes +# Confirm you can run a non-native architecture image, e.g.: +# $ docker run --rm -t arm64v8/ubuntu uname -m # Run an executable made for aarch64 on x86_64 +# WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested +# aarch64 +# + +# The local file with all the supported build configs in +JSON_FILE_NAME=${JSON_FILE_NAME:-$SCRIPT_DIR/build-config.json} + +# Output checks are easier plus do not want to fill up git +PACKAGING_OUTPUT_DIR=${PACKAGING_OUTPUT_DIR:-test} +echo "Cleaning any existing output" +rm -rf "${PACKAGING_OUTPUT_DIR:?}/*" + +# Iterate over each target and attempt to build it. +# Verify that an RPM or DEB is created. +jq -cr '.linux_targets[]' "$JSON_FILE_NAME" | while read -r DISTRO +do + echo "$DISTRO" + FLB_OUT_DIR="$PACKAGING_OUTPUT_DIR" /bin/bash "$SCRIPT_DIR"/build.sh -d "$DISTRO" "$@" + if [[ -z $(find "${SCRIPT_DIR}/packages/$DISTRO/$PACKAGING_OUTPUT_DIR/" -type f \( -iname "*-bit-*.rpm" -o -iname "*-bit-*.deb" \) | head -n1) ]]; then + echo "Unable to find any binary packages in: ${SCRIPT_DIR}/packages/$DISTRO/$PACKAGING_OUTPUT_DIR" + exit 1 + fi +done + +echo "Success so cleanup" +rm -rf "${PACKAGING_OUTPUT_DIR:?}/*" |