#!/usr/bin/env bash set -euo pipefail repo_root="${REPO_ROOT:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../../../../.." && pwd)}" package_name="${PACKAGE_NAME:-seaweedfs}" alpine_version="${ALPINE_VERSION:-3.23}" arch="${ALPINE_ARCH:-x86_64}" case "${arch}" in x86_64) platform="${ALPINE_TEST_PLATFORM:-linux/amd64}" ;; aarch64) platform="${ALPINE_TEST_PLATFORM:-linux/arm64}" ;; *) printf 'unsupported Alpine architecture: %s\n' "${arch}" >&2 exit 2 ;; esac if [[ "${SKIP_BUILD:-0}" != "1" ]]; then ALPINE_PACKAGE="${package_name}" "${repo_root}/scripts/apk/build.sh" build "${arch}" fi if [[ ! -d "${repo_root}/packages/local/${arch}" ]]; then printf 'missing local repository: packages/local/%s\n' "${arch}" >&2 printf 'run: ALPINE_PACKAGE=%s mise run apk:build\n' "${package_name}" >&2 exit 1 fi docker run --rm --platform "${platform}" \ -e "ALPINE_ARCH=${arch}" \ -v "${repo_root}/packages/local:/repo:ro" \ "alpine:${alpine_version}" \ sh -lc ' set -e cp "/repo/${ALPINE_ARCH}"/*.rsa.pub /etc/apk/keys/ printf "%s\n" /repo >> /etc/apk/repositories apk update apk add seaweedfs \ seaweedfs-master-openrc \ seaweedfs-volume-openrc \ seaweedfs-filer-openrc test -x /usr/bin/weed test -d /etc/seaweedfs test -f /etc/seaweedfs/master.toml test -f /etc/seaweedfs/filer.toml test -f /etc/conf.d/seaweedfs.master test -f /etc/conf.d/seaweedfs.volume test -f /etc/conf.d/seaweedfs.filer test -f /etc/init.d/seaweedfs.master test -f /etc/init.d/seaweedfs.volume test -f /etc/init.d/seaweedfs.filer weed version rc-update add seaweedfs.master default rc-update add seaweedfs.volume default rc-update add seaweedfs.filer default test -L /etc/runlevels/default/seaweedfs.master test -L /etc/runlevels/default/seaweedfs.volume test -L /etc/runlevels/default/seaweedfs.filer apk add seaweedfs-doc bash-completion apk info -e seaweedfs-bash-completion test -d /usr/share/doc/seaweedfs/examples test -f /usr/share/doc/seaweedfs/examples/master.toml test -f /usr/share/bash-completion/completions/weed '