diff --git a/publish.sh b/publish.sh index deab3db..25e2bed 100755 --- a/publish.sh +++ b/publish.sh @@ -1,10 +1,8 @@ -#!/bin/bash - set -euo pipefail SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" ARCH=$(uname -m) -PROJECT="dehydrate" +PROJECT="$(basename "${SCRIPT_DIR}")" OUTPUT="${SCRIPT_DIR}/output" @@ -36,38 +34,23 @@ heading "Building ${PROJECT}" # build release version export CMAKE_BUILD_TYPE="Release" "${SCRIPT_DIR}/build.sh" - [ -f "${OUTPUT}/${PROJECT}" ] || die "Build failed." -#-------------------------------------------------------------------------------- -SOS="${SCRIPT_DIR}/../sos/sos" -[ -f "${SOS}" ] || die "Failed to find sos" +# install getpkg +GETPKG_PATH="${HOME}/.local/bin/getpkg/getpkg" +if [ ! -f "${GETPKG_PATH}" ]; then + heading "Installing getpkg" + curl https://getbin.xyz/getpkg-install | bash + if [ ! -f "${GETPKG_PATH}" ]; then + die "getpkg failed to install to ${GETPKG_PATH}" + fi +fi #-------------------------------------------------------------------------------- -heading "Uploading ${PROJECT} to getbin.xyz" +heading "Publishing ${PROJECT} as tool to ${PROJECT}:${ARCH} (on getpkg.xyz)" -# upload arch-specific binary -"${SOS}" upload "getbin.xyz" "${OUTPUT}/${PROJECT}" "${PROJECT}:latest-${ARCH}" - -# upload generic install script (ok if multiple times as we iterate through arch's) -"${SOS}" upload "getbin.xyz" "${SCRIPT_DIR}/install.sh" "${PROJECT}-install:latest" - -#-------------------------------------------------------------------------------- -heading "Publishing ${PROJECT} as tool to getpkg.xyz" - -# Create tool directory structure TOOLDIR="${OUTPUT}/tool" mkdir "${TOOLDIR}" cp "${OUTPUT}/${PROJECT}" "${TOOLDIR}/${PROJECT}" - -# Use getpkg to publish the tool -GETPKG="${SCRIPT_DIR}/../getpkg/output/getpkg" -if [ ! -f "$GETPKG" ]; then - GETPKG="${SCRIPT_DIR}/../getpkg/getpkg" -fi - -if [ -f "$GETPKG" ]; then - "${GETPKG}" publish "${PROJECT}:${ARCH}" "${TOOLDIR}" -else - echo "Warning: getpkg not found, skipping tool publishing to getpkg.xyz" -fi \ No newline at end of file +"${GETPKG_PATH}" server set-token getpkg.xyz "${SOS_WRITE_TOKEN}" +"${GETPKG_PATH}" publish "${PROJECT}:${ARCH}" "${TOOLDIR}"