mirror of
https://github.com/sliverarmory/reflektor
synced 2026-08-25 09:14:48 +00:00
47 lines
1.4 KiB
Bash
Executable File
47 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
|
REPO_ROOT="$(cd -- "${SCRIPT_DIR}/../.." && pwd)"
|
|
DOCKERFILE="${SCRIPT_DIR}/linux-memmod.Dockerfile"
|
|
|
|
if ! command -v docker >/dev/null 2>&1; then
|
|
echo "docker not found in PATH" >&2
|
|
exit 1
|
|
fi
|
|
|
|
platforms=(
|
|
"linux/386"
|
|
"linux/amd64"
|
|
"linux/arm/v7"
|
|
"linux/arm64"
|
|
"linux/ppc64le"
|
|
"linux/riscv64"
|
|
)
|
|
|
|
for platform in "${platforms[@]}"; do
|
|
tag="reflektor-memmod-${platform//\//-}"
|
|
dockerfile="${DOCKERFILE}"
|
|
run_command=("/bin/bash" "/workspace/testdata/docker/run-linux-memmod-tests.sh")
|
|
case "${platform}" in
|
|
linux/arm/v7)
|
|
dockerfile="${SCRIPT_DIR}/linux-bof.Dockerfile"
|
|
run_command=("/bin/bash" "/workspace/testdata/docker/run-linux-shared-tests.sh")
|
|
;;
|
|
linux/ppc64le)
|
|
dockerfile="${SCRIPT_DIR}/linux-ppc64le-bof.Dockerfile"
|
|
run_command=("/bin/bash" "/workspace/testdata/docker/run-linux-shared-tests.sh")
|
|
;;
|
|
linux/riscv64)
|
|
dockerfile="${SCRIPT_DIR}/linux-riscv64-bof.Dockerfile"
|
|
run_command=("/bin/bash" "/workspace/testdata/docker/run-linux-shared-tests.sh")
|
|
;;
|
|
esac
|
|
echo "==> building ${tag} (${platform})"
|
|
docker build --platform "${platform}" -f "${dockerfile}" -t "${tag}" "${REPO_ROOT}"
|
|
|
|
echo "==> running ${tag} (${platform})"
|
|
docker run --rm --platform "${platform}" "${tag}" "${run_command[@]}"
|
|
done
|