Compare commits

...
Author SHA1 Message Date
Emil 9b0b9b208a Warn on a stale download in the installer
coordinator / test (push) Waiting to run
python / test (push) Waiting to run
release / binaries (amd64, darwin) (push) Waiting to run
release / binaries (amd64, linux) (push) Waiting to run
release / binaries (amd64, windows) (push) Waiting to run
release / binaries (arm64, darwin) (push) Waiting to run
release / binaries (arm64, linux) (push) Waiting to run
release / binaries (arm64, windows) (push) Waiting to run
release / release (push) Blocked by required conditions
release / image (push) Waiting to run
users / test (push) Waiting to run
2026-08-02 22:07:04 +03:00
Emil a339ac853b Install the newest release including pre-releases by default 2026-08-02 22:03:10 +03:00
2 changed files with 36 additions and 8 deletions
+16 -4
View File
@@ -23,12 +23,24 @@ $Arch = switch ($env:PROCESSOR_ARCHITECTURE) {
}
if ($Version -eq "latest") {
Write-Host "Resolving the latest SciMesh release..."
$Url = "https://github.com/$Repo/releases/latest/download/coordinator-windows-$Arch.exe"
} else {
$Url = "https://github.com/$Repo/releases/download/$Version/coordinator-windows-$Arch.exe"
Write-Host "Resolving the newest SciMesh release (including pre-releases)..."
# /releases/latest only sees stable releases; the API list is newest-first
# across all channels.
try {
$Releases = Invoke-RestMethod -Uri "https://api.github.com/repos/$Repo/releases?per_page=1"
if ($Releases -and $Releases[0].tag_name) {
$Version = $Releases[0].tag_name
Write-Host " -> $Version"
} else {
Write-Host " -> falling back to the stable latest release"
}
} catch {
Write-Host " -> falling back to the stable latest release"
}
}
$Url = "https://github.com/$Repo/releases/download/$Version/coordinator-windows-$Arch.exe"
New-Item -ItemType Directory -Force -Path $InstallDir | Out-Null
$Target = Join-Path $InstallDir "coordinator.exe"
+20 -4
View File
@@ -27,15 +27,23 @@ case "$(uname -m)" in
esac
if [ "$VERSION" = "latest" ]; then
echo "Resolving the latest SciMesh release..."
URL="https://github.com/${REPO}/releases/latest/download/coordinator-${OS}-${ARCH}"
else
URL="https://github.com/${REPO}/releases/download/${VERSION}/coordinator-${OS}-${ARCH}"
echo "Resolving the newest SciMesh release (including pre-releases)..."
# GitHub's /releases/latest only sees stable releases; the API list is
# newest-first across all channels. Without jq, pull the first tag_name.
RESOLVED=$(curl -fsSL "https://api.github.com/repos/${REPO}/releases?per_page=1" \
| sed -n 's/.*"tag_name"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' | head -1)
if [ -n "$RESOLVED" ]; then
VERSION="$RESOLVED"
echo " -> $VERSION"
else
echo " -> falling back to the stable latest release"
fi
fi
mkdir -p "$INSTALL_DIR"
TARGET="$INSTALL_DIR/coordinator"
URL="https://github.com/${REPO}/releases/download/${VERSION}/coordinator-${OS}-${ARCH}"
echo "Downloading $URL"
curl -fsSL -o "$TARGET.tmp" "$URL"
chmod +x "$TARGET.tmp"
@@ -43,7 +51,15 @@ mv "$TARGET.tmp" "$TARGET"
echo
echo "SciMesh installed: $TARGET"
INSTALLED_VERSION=$("$TARGET" --version 2>/dev/null | awk '{print $2}')
"$TARGET" --version
if [ -n "$INSTALLED_VERSION" ] && [ "$INSTALLED_VERSION" != "${VERSION#v}" ]; then
echo
echo "WARNING: expected version $VERSION but got $INSTALLED_VERSION."
echo "This is usually a stale download cache. Re-run the installer in a few"
echo "minutes, or pin the version explicitly:"
echo " SCIMESH_VERSION=${VERSION} bash <(curl -fsSL https://raw.githubusercontent.com/${REPO}/main/install.sh)"
fi
echo
echo "Start the platform (one command, everything embedded):"
echo " $TARGET serve --open"