From 6e6f446eb029fe152c09ef78ad50e7bd1beff204 Mon Sep 17 00:00:00 2001 From: Matthew Knight Date: Thu, 5 Mar 2026 14:30:27 -0800 Subject: [PATCH] Install curl --- actions/setup-cairn/action.yml | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/actions/setup-cairn/action.yml b/actions/setup-cairn/action.yml index 4ae2c42..1fbc55f 100644 --- a/actions/setup-cairn/action.yml +++ b/actions/setup-cairn/action.yml @@ -23,15 +23,36 @@ runs: CACHE_DIR="${RUNNER_TOOL_CACHE:-/tmp/cairn-tool-cache}" TOOL_DIR="${CACHE_DIR}/cairn/${CAIRN_VERSION}/x64" + CAIRN_URL="${{ github.server_url }}/api/packages/${{ github.repository_owner }}/generic/cairn/${CAIRN_VERSION}/cairn-x86_64-linux" + + download_cairn() { + if command -v curl >/dev/null 2>&1; then + curl -sfL "${CAIRN_URL}" -o "${TOOL_DIR}/cairn" + return 0 + fi + + if command -v wget >/dev/null 2>&1; then + wget -qO "${TOOL_DIR}/cairn" "${CAIRN_URL}" + return 0 + fi + + if command -v apt-get >/dev/null 2>&1; then + apt-get update -qq + apt-get install -y -qq curl >/dev/null 2>&1 + curl -sfL "${CAIRN_URL}" -o "${TOOL_DIR}/cairn" + return 0 + fi + + echo "ERROR: no supported downloader found (curl/wget/apt-get)" + return 1 + } if [ -f "${TOOL_DIR}/cairn" ] && [ -f "${TOOL_DIR}/.complete" ]; then echo "Cairn CLI ${CAIRN_VERSION} found in tool cache" else echo "Downloading Cairn CLI ${CAIRN_VERSION}..." mkdir -p "${TOOL_DIR}" - curl -sfL \ - "${{ github.server_url }}/api/packages/${{ github.repository_owner }}/generic/cairn/${CAIRN_VERSION}/cairn-x86_64-linux" \ - -o "${TOOL_DIR}/cairn" + download_cairn chmod +x "${TOOL_DIR}/cairn" touch "${TOOL_DIR}/.complete" echo "Cairn CLI ${CAIRN_VERSION} installed"