27 lines
1.2 KiB
Bash
Executable File
27 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
set -o errexit
|
|
set -o pipefail
|
|
set -o nounset
|
|
|
|
DENIS_CDN_DOMAIN="${DENIS_CDN_DOMAIN:-updates.bsky.app}"
|
|
DENIS_S3_BUCKET="${DENIS_S3_BUCKET:-bsky-denis-ota-prod}"
|
|
PUBLISH_MODE="${DENIS_PUBLISH_MODE:-legacy}"
|
|
|
|
if [ "$PUBLISH_MODE" = "structured" ]; then
|
|
RELEASE_FILE="${1:?Usage: denisPublish.sh ota-export.json}"
|
|
node scripts/ota/validate-release.mjs --release-file "$RELEASE_FILE"
|
|
PACKAGED_RELEASE_FILE="$(node scripts/bundleUpdate.js --release-file "$RELEASE_FILE")"
|
|
node scripts/ota/validate-release.mjs --release-file "$PACKAGED_RELEASE_FILE"
|
|
denis publish --release-file "$PACKAGED_RELEASE_FILE" --cdn-domain "$DENIS_CDN_DOMAIN" --s3-bucket "$DENIS_S3_BUCKET"
|
|
# Retain the unique packaged output for debugging and idempotent CLI retries.
|
|
elif [ "$PUBLISH_MODE" = "legacy" ]; then
|
|
: "${CHANNEL_NAME:?CHANNEL_NAME is required}"
|
|
: "${BSKY_IOS_BUILD_NUMBER:?BSKY_IOS_BUILD_NUMBER is required}"
|
|
: "${BSKY_ANDROID_VERSION_CODE:?BSKY_ANDROID_VERSION_CODE is required}"
|
|
: "Legacy mode is retained by scripts/denisPublishLegacy.sh during rollout"
|
|
exec bash scripts/denisPublishLegacy.sh
|
|
else
|
|
echo "DENIS_PUBLISH_MODE must be structured or legacy" >&2
|
|
exit 1
|
|
fi
|