61 lines
1.2 KiB
Bash
Executable File
61 lines
1.2 KiB
Bash
Executable File
#!/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[@]}"
|