pre no longer builds a bare serve.git mirror, moves refs or sets allowAnySHA1InWant. The repo-local insteadOf now rewrites the official URLs directly to --source, so updates follow the fork's main (force-push it to the branch under test). post still undoes the redirect via the clone/snapshot restore. --ref is removed: neither hermes update nor the tester's pre-branch desktop can follow another branch through config the kit could set without the mirror. pre now ls-remotes --source's main before writing anything, so a bad source aborts with nothing done. The stale global-redirect cleanup is dropped: it only matched serve.git paths.
3.5 KiB
testing the bundles branch against your normal hermes install
instructions:
-
close hermes, the gateway, etc. make sure you have no running hermes processes.
-
apply my updater override: macos/linux:
REPO_ID="NousResearch/hermes-agent" SHA=$(curl -fsSL -H "User-Agent: hermes-installer" "https://api.github.com/repos/$REPO_ID/commits/main" | grep -m1 '"sha"' | cut -d'"' -f4) if [[ ! "$SHA" =~ ^[0-9a-f]{40}$ ]]; then echo "Failed to resolve commit SHA" >&2; exit 1; fi curl -fsSL "https://raw.githubusercontent.com/$REPO_ID/$SHA/scripts/update-test/hermes-update-rehearsal.sh" | bash -s -- prewindows (open PowerShell with Run as Administrator — the backup takes a disk snapshot, which needs admin):
$repo_id = "NousResearch/hermes-agent" $sha = (irm "https://api.github.com/repos/$repo_id/commits/main" -Headers @{ "User-Agent" = "ps-installer" }).sha $scriptUrl = "https://raw.githubusercontent.com/$repo_id/$sha/scripts/update-test/hermes-update-rehearsal.ps1" & ([scriptblock]::Create((irm $scriptUrl))) prethis backs up your entire hermes home and any desktop app settings, then points your install's updates at the test fork's
main(no local mirror:hermes updatefetches straight from the fork, so it needs network). from this point on, nothing you do in hermes will be preserved, until you restore your backup at the end. -
boot hermes up to ensure everything is working, still. if you normally have a background service, gateway, etc, make sure it's running.
-
update hermes like you normally do.
-
test hermes. make sure nothing breaks, everything you use still works, etc.
-
close hermes, the gateway, etc. make sure you have no running hermes processes.
-
restore your backup:
macos/linux:
REPO_ID="NousResearch/hermes-agent" SHA=$(curl -fsSL -H "User-Agent: hermes-installer" "https://api.github.com/repos/$REPO_ID/commits/main" | grep -m1 '"sha"' | cut -d'"' -f4) if [[ ! "$SHA" =~ ^[0-9a-f]{40}$ ]]; then echo "Failed to resolve commit SHA" >&2; exit 1; fi curl -fsSL "https://raw.githubusercontent.com/$REPO_ID/$SHA/scripts/update-test/hermes-update-rehearsal.sh" | bash -s -- post --yeswindows (again as Administrator):
$repo_id = "NousResearch/hermes-agent" $sha = (irm "https://api.github.com/repos/$repo_id/commits/main" -Headers @{ "User-Agent" = "ps-installer" }).sha $scriptUrl = "https://raw.githubusercontent.com/$repo_id/$sha/scripts/update-test/hermes-update-rehearsal.ps1" & ([scriptblock]::Create((irm $scriptUrl))) post -Yesthis puts hermes back to exactly how it was beforehand.
testing the bundles branch from a fresh install
macos/linux, in a terminal
REPO_ID="NousResearch/hermes-agent"
SHA=$(curl -fsSL -H "User-Agent: hermes-installer" "https://api.github.com/repos/$REPO_ID/commits/main" | grep -m1 '"sha"' | cut -d'"' -f4)
if [[ ! "$SHA" =~ ^[0-9a-f]{40}$ ]]; then
echo "Failed to resolve commit SHA for $REPO_ID" >&2
exit 1
fi
curl -fsSL "https://raw.githubusercontent.com/$REPO_ID/$SHA/scripts/install.sh" | HERMES_REPO_URL="https://github.com/$REPO_ID.git" bash
windows, in powershell
$repo_id = "NousResearch/hermes-agent"
$sha = (irm "https://api.github.com/repos/$repo_id/commits/main" -Headers @{ "User-Agent" = "ps-installer" }).sha
$scriptUrl = "https://raw.githubusercontent.com/$repo_id/$sha/scripts/install.ps1"
$env:HERMES_REPO_URL = "https://github.com/$repo_id.git"
& ([scriptblock]::Create((irm $scriptUrl)))