mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-01-26 23:37:08 -05:00
7ab23c28b8
This reverts commit ec1d5e9fb51a2075eda7c24832c0fa76da85c34e. While the change enabled shasum calculation on mac, it broke it on some Linux distros.
62 lines
1.6 KiB
Bash
Executable File
62 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Usage: ./build-and-upload.sh [dryrun]
|
|
|
|
set -euo pipefail
|
|
set -o errtrace
|
|
shopt -s inherit_errexit
|
|
|
|
talosRepo="https://github.com/siderolabs/talos"
|
|
talosHash="94c24ca64e70f227da29cd02bd367d3c2701b96c"
|
|
s3CASPath="s3://cdn-constellation-backend/constellation/cas/sha256"
|
|
publicCASPath="https://cdn.confidential.cloud/constellation/cas/sha256"
|
|
|
|
function cleanup {
|
|
echo "Cleaning up"
|
|
rm -rf "${tmpDir}"
|
|
}
|
|
|
|
trap cleanup EXIT
|
|
|
|
# Set flags to --dryrun if arg 1 is "dryrun"
|
|
awsFlags=()
|
|
if [[ ${1-} == "dryrun" ]]; then
|
|
awsFlags+=("--dryrun")
|
|
fi
|
|
|
|
# Create a temp dir to work in
|
|
tmpDir=$(mktemp -d)
|
|
pushd "${tmpDir}"
|
|
|
|
# Get the talos source code
|
|
wget -qO- "${talosRepo}/archive/${talosHash}.tar.gz" | tar -xz
|
|
cp -r "talos-${talosHash}/hack/docgen" .
|
|
pushd "docgen"
|
|
|
|
# Build and upload the talos-docgen binary
|
|
echo
|
|
for arch in "amd64" "arm64"; do
|
|
for os in "linux" "darwin"; do
|
|
echo "Building and uploading talos-docgen-${os}-${arch}"
|
|
CGO_ENABLED="0" GOWORK="" GOOS="${os}" GOARCH="${arch}" go build -trimpath -ldflags="-buildid=" -o "talos-docgen-${os}-${arch}" .
|
|
sum=$(sha256sum "talos-docgen-${os}-${arch}" | cut -d ' ' -f1) && echo "Binary sha256sum: ${sum}"
|
|
file "talos-docgen-${os}-${arch}"
|
|
aws s3 "${awsFlags[@]}" cp "./talos-docgen-${os}-${arch}" "${s3CASPath}/${sum}"
|
|
echo
|
|
cat << EOF >> "bazelout.txt"
|
|
http_file(
|
|
name = "com_github_siderolabs_talos_hack_docgen_${os}_${arch}",
|
|
urls = [
|
|
"${publicCASPath}/${sum}",
|
|
],
|
|
executable = True,
|
|
sha256 = "${sum}",
|
|
)
|
|
EOF
|
|
done
|
|
done
|
|
|
|
# Print the bazel output
|
|
cat bazelout.txt
|
|
echo
|