ajhahn.de
← eeco
Shell 37 lines
#!/bin/sh
# Convenience wrapper: cross-build the matrix, print checksums, and
# remind the operator of the remaining manual steps. Performs no git
# writes and never uploads anything.
#
# Usage:
#   scripts/release.sh                 # version derived from `git describe`
#   scripts/release.sh v0.5.0          # pin VERSION explicitly
set -eu

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"

if [ "$#" -ge 1 ]; then
	VERSION="$1"
	export VERSION
fi

"${SCRIPT_DIR}/build.sh"
"${SCRIPT_DIR}/gen-packaging.sh"

echo
echo "SHA256SUMS:"
cat "${ROOT}/dist/SHA256SUMS"

echo
echo "next manual steps:"
echo "  1. git add (excluding PLAN.md, dist/)"
echo "  2. git commit -m \"feat: release engineering\""
echo "  3. git tag -a <operator-named-tag> -m \"<tag-name>\""
echo "  4. git push origin main --tags"
echo
echo "On the tag push, CI cross-builds, generates eeco.rb / eeco.json,"
echo "keyless-signs SHA256SUMS, attests build provenance, and uploads"
echo "every asset to the GitHub Release. The dist/ output here is the"
echo "local-repro and inspection copy; no manual upload is needed."