Add channel-aware release tooling and updater recovery
This commit is contained in:
60
scripts/build-release.sh
Executable file
60
scripts/build-release.sh
Executable file
@@ -0,0 +1,60 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if [[ $# -ne 3 ]]
|
||||
then
|
||||
printf 'Usage: %s VERSION CHANNEL OUTPUT_DIR\n' "$0" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
SCRIPT_ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_ROOT="$(cd -- "${SCRIPT_ROOT}/.." && pwd)"
|
||||
PYTHON_BIN="${PTLINUX_PYTHON:-python3}"
|
||||
VERSION="$1"
|
||||
CHANNEL="$2"
|
||||
OUTPUT_DIRECTORY="$3"
|
||||
|
||||
cd -- "$PROJECT_ROOT"
|
||||
|
||||
ARGUMENTS=(
|
||||
"${SCRIPT_ROOT}/build_release.py"
|
||||
"$VERSION"
|
||||
"$CHANNEL"
|
||||
"$OUTPUT_DIRECTORY"
|
||||
)
|
||||
|
||||
if [[ -n "${REPOSITORY_URL:-}" ]]
|
||||
then
|
||||
ARGUMENTS+=(--repository-url "$REPOSITORY_URL")
|
||||
fi
|
||||
if [[ -n "${RELEASE_TAG:-}" ]]
|
||||
then
|
||||
ARGUMENTS+=(--tag "$RELEASE_TAG")
|
||||
fi
|
||||
if [[ -n "${RELEASE_COMMIT:-}" ]]
|
||||
then
|
||||
ARGUMENTS+=(--commit "$RELEASE_COMMIT")
|
||||
fi
|
||||
if [[ -n "${SOURCE_DATE_EPOCH:-}" ]]
|
||||
then
|
||||
ARGUMENTS+=(--source-date-epoch "$SOURCE_DATE_EPOCH")
|
||||
fi
|
||||
if [[ -n "${RELEASE_NOTES_FILE:-}" ]]
|
||||
then
|
||||
ARGUMENTS+=(--release-notes "$RELEASE_NOTES_FILE")
|
||||
fi
|
||||
if [[ "${REQUIRE_RELEASE_SIGNATURE:-0}" == "1" ]]
|
||||
then
|
||||
ARGUMENTS+=(--require-signature)
|
||||
fi
|
||||
if [[ "${ALLOW_SOURCE_VERSION_OVERRIDE:-0}" == "1" ]]
|
||||
then
|
||||
ARGUMENTS+=(--allow-source-version-override)
|
||||
fi
|
||||
if [[ -n "${RELEASE_ARCHIVE_LAYOUT:-}" ]]
|
||||
then
|
||||
ARGUMENTS+=(--archive-layout "$RELEASE_ARCHIVE_LAYOUT")
|
||||
fi
|
||||
|
||||
exec "$PYTHON_BIN" "${ARGUMENTS[@]}"
|
||||
Reference in New Issue
Block a user