2019-01-01 03:23:01 -05:00
|
|
|
#!/bin/bash
|
2019-01-09 11:54:15 -05:00
|
|
|
set -e -x
|
|
|
|
|
|
|
|
|
|
cd $(dirname $0)/..
|
|
|
|
|
|
2019-11-12 18:36:04 -05:00
|
|
|
. ./scripts/version.sh
|
|
|
|
|
|
2020-03-25 15:35:07 -04:00
|
|
|
GO=${GO-go}
|
|
|
|
|
|
2023-05-02 19:14:35 -04:00
|
|
|
for i in containerd crictl kubectl k3s-agent k3s-server k3s-token k3s-etcd-snapshot k3s-secrets-encrypt k3s-certificate k3s-completion; do
|
2023-10-16 14:53:09 -04:00
|
|
|
rm -f bin/$i${BINARY_POSTFIX}
|
|
|
|
|
ln -s k3s${BINARY_POSTFIX} bin/$i${BINARY_POSTFIX}
|
2020-03-06 07:34:56 -05:00
|
|
|
done
|
|
|
|
|
|
2023-10-16 14:53:09 -04:00
|
|
|
cni_binaries=(
|
|
|
|
|
"bandwidth"
|
|
|
|
|
"bridge"
|
|
|
|
|
"firewall"
|
|
|
|
|
"flannel"
|
|
|
|
|
"host-local"
|
|
|
|
|
"loopback"
|
|
|
|
|
"portmap"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if [ ${OS} = windows ]; then
|
|
|
|
|
cni_binaries=(
|
|
|
|
|
"win-overlay"
|
|
|
|
|
"flannel"
|
|
|
|
|
"host-local"
|
|
|
|
|
)
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
for i in "${cni_binaries[@]}"; do
|
|
|
|
|
rm -f bin/$i${BINARY_POSTFIX}
|
|
|
|
|
ln -s cni${BINARY_POSTFIX} bin/$i${BINARY_POSTFIX}
|
2019-01-09 11:54:15 -05:00
|
|
|
done
|
|
|
|
|
|
2019-11-12 09:12:37 -05:00
|
|
|
cp contrib/util/check-config.sh bin/check-config
|
2019-01-09 11:54:15 -05:00
|
|
|
|
2019-01-24 12:51:14 -05:00
|
|
|
rm -rf build/data
|
2019-02-04 23:42:35 -05:00
|
|
|
mkdir -p build/data build/out
|
|
|
|
|
mkdir -p dist/artifacts
|
2023-10-16 14:53:09 -04:00
|
|
|
mkdir -p ./etc
|
2019-01-09 11:54:15 -05:00
|
|
|
|
2019-11-12 09:12:37 -05:00
|
|
|
(
|
|
|
|
|
set +x
|
|
|
|
|
cd bin
|
|
|
|
|
find . -not -path '*/\.*' -type f -exec sha256sum {} \; | sed -e 's| \./| |' | sort -k2 >.sha256sums
|
|
|
|
|
(
|
|
|
|
|
for f in $(find . -type l); do
|
|
|
|
|
echo $f $(readlink $f)
|
|
|
|
|
done
|
|
|
|
|
) | sed -e 's|^\./||' | sort >.links
|
|
|
|
|
set -x
|
|
|
|
|
)
|
|
|
|
|
|
2025-02-06 01:21:42 -05:00
|
|
|
tar cvf ./build/out/data-${OS}.tar ./bin ./etc
|
|
|
|
|
zstd --no-progress -T0 -16 -f --long=25 --rm ./build/out/data-${OS}.tar -o ./build/out/data-${OS}.tar.zst
|
|
|
|
|
HASH=$(sha256sum ./build/out/data-${OS}.tar.zst | awk '{print $1}')
|
2019-01-09 11:54:15 -05:00
|
|
|
|
2025-02-06 01:21:42 -05:00
|
|
|
cp ./build/out/data-${OS}.tar.zst ./build/data/${HASH}.tar.zst
|
2019-01-09 11:54:15 -05:00
|
|
|
|
2019-01-24 12:51:14 -05:00
|
|
|
BIN_SUFFIX="-${ARCH}"
|
2019-01-09 11:54:15 -05:00
|
|
|
if [ ${ARCH} = amd64 ]; then
|
2019-01-24 12:51:14 -05:00
|
|
|
BIN_SUFFIX=""
|
|
|
|
|
elif [ ${ARCH} = arm ]; then
|
|
|
|
|
BIN_SUFFIX="-armhf"
|
2022-04-15 12:41:40 -04:00
|
|
|
elif [ ${ARCH} = s390x ]; then
|
|
|
|
|
BIN_SUFFIX="-s390x"
|
2019-01-09 11:54:15 -05:00
|
|
|
fi
|
2019-01-01 03:23:01 -05:00
|
|
|
|
2023-10-16 14:53:09 -04:00
|
|
|
CMD_NAME=dist/artifacts/k3s${BIN_SUFFIX}${BINARY_POSTFIX}
|
2019-01-24 12:51:14 -05:00
|
|
|
|
2019-07-09 23:54:13 -04:00
|
|
|
LDFLAGS="
|
2022-03-02 18:47:27 -05:00
|
|
|
-X github.com/k3s-io/k3s/pkg/version.Version=$VERSION
|
|
|
|
|
-X github.com/k3s-io/k3s/pkg/version.GitCommit=${COMMIT:0:8}
|
2019-07-09 23:54:13 -04:00
|
|
|
-w -s
|
|
|
|
|
"
|
2022-05-13 16:09:57 -04:00
|
|
|
TAGS="urfave_cli_no_docs"
|
2019-01-09 11:54:15 -05:00
|
|
|
STATIC="-extldflags '-static'"
|
2025-07-29 03:50:35 -04:00
|
|
|
cp -av build/data/* pkg/data/embed/
|
2023-10-16 14:53:09 -04:00
|
|
|
CGO_ENABLED=0 "${GO}" build -tags "$TAGS" -buildvcs=false -ldflags "$LDFLAGS $STATIC" -o ${CMD_NAME} ./cmd/k3s
|
2019-12-23 14:07:34 -05:00
|
|
|
|
2020-07-13 13:06:23 -04:00
|
|
|
stat ${CMD_NAME}
|
|
|
|
|
|
2019-12-23 14:07:34 -05:00
|
|
|
./scripts/build-upload ${CMD_NAME} ${COMMIT}
|