#!/bin/bash set -euo pipefail SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" ARCH=$(uname -m) TEMP_DIR="${SCRIPT_DIR}/temp" SOS="${TEMP_DIR}/sos" PROJECT="dropshell" echo "Publishing dropshell to getbin.xyz" function die() { echo "error: $1" exit 1 } [[ -n ${SOS_WRITE_TOKEN:-} ]] || die "SOS_WRITE_TOKEN not specified" # clear output dir rm -rf "${SCRIPT_DIR}/output" mkdir -p "${SCRIPT_DIR}/output" # build release version export CMAKE_BUILD_TYPE="Release" export INSTALL_LOCAL="false" "${SCRIPT_DIR}/build.sh" [ -f "${SCRIPT_DIR}/output/dropshell" ] || die "Build failed." # Get version from the built binary (format: YYYY.MMDD.HHMM) VERSION=$("${SCRIPT_DIR}/output/dropshell" version | tr -d '[:space:]') [ -z "$VERSION" ] && die "Failed to get version from dropshell" echo "Publishing dropshell version ${VERSION} for ${ARCH}" # download the sos binary mkdir -p "${TEMP_DIR}" trap 'rm -rf "${TEMP_DIR}"' EXIT curl -L -o "${SOS}" "https://getbin.xyz/sos" chmod +x "${SOS}" # Create metadata file with version information METADATA_FILE="${TEMP_DIR}/metadata.json" cat > "${METADATA_FILE}" <