kubo/.github/workflows
Marcin Rataj 706aab385b feat: add built-in ipfs update command
adds `ipfs update` command tree that downloads pre-built Kubo binaries
from GitHub Releases, verifies SHA-512 checksums, and replaces the
running binary in place.

subcommands:

- `ipfs update check` -- query GitHub for newer versions
- `ipfs update versions` -- list available releases
- `ipfs update install [version]` -- download, verify, backup, and
  atomically replace the current binary
- `ipfs update revert` -- restore the previously backed up binary
  from `$IPFS_PATH/old-bin/`

read-only subcommands (check, versions) work while the daemon is
running. install and revert require the daemon to be stopped first.

design decisions:

- uses GitHub Releases API instead of dist.ipfs.tech because GitHub
  is harder to censor in regions that block IPFS infrastructure
- honors GITHUB_TOKEN/GH_TOKEN to avoid unauthenticated rate limits
- backs up the current binary before replacing, with permission-error
  fallback that saves to a temp dir with manual `sudo mv` instructions
- `KUBO_UPDATE_GITHUB_URL` env var redirects API calls for integration
  testing; `IPFS_VERSION_FAKE` overrides the reported version
- unit tests use mock HTTP servers and the var override; CLI tests use
  the env vars with a temp binary copy so the real build is never
  touched

resolves https://github.com/ipfs/kubo/issues/10937
2026-02-16 19:41:29 +01:00
..
changelog.yml ci: add changelog update checker workflow [skip changelog] (#10002) 2023-07-06 08:13:27 +02:00
codeql-analysis.yml chore(deps): bump github/codeql-action from 3 to 4 (#11025) 2025-11-25 07:47:48 -08:00
dependabot-tidy.yml chore(deps): bump actions/checkout from 4 to 6 (#11166) 2026-01-23 06:35:20 +01:00
docker-check.yml chore(deps): bump actions/checkout from 5 to 6 (#11076) 2025-11-25 07:29:20 -08:00
docker-image.yml chore: remove deprecated go-ipfs Docker image publishing (#11081) 2025-11-27 17:05:26 +01:00
gateway-conformance.yml feat(gateway): IPIP-0524 Gateway.AllowCodecConversion config option (#11090) 2026-02-06 02:21:35 +01:00
generated-pr.yml ci: uci/copy-templates (#10787) 2025-05-09 21:53:37 +02:00
gobuild.yml chore(deps): bump actions/checkout from 5 to 6 (#11076) 2025-11-25 07:29:20 -08:00
golang-analysis.yml refactor: apply go fix modernizers from Go 1.26 (#11190) 2026-02-11 01:01:32 +01:00
golint.yml chore(deps): bump actions/checkout from 5 to 6 (#11076) 2025-11-25 07:29:20 -08:00
gotest.yml fix(ci): parallelize gotest, cleanup output, flakiness (#11113) 2026-01-08 05:07:08 +01:00
interop.yml feat(config): add Import.* for CID Profiles from IPIP-499 (#11148) 2026-02-04 22:03:15 +01:00
sharness.yml fix(ci): parallelize gotest, cleanup output, flakiness (#11113) 2026-01-08 05:07:08 +01:00
spellcheck.yml feat(ci): reusable spellcheck from unified CI (#10873) 2025-08-14 00:35:35 +00:00
stale.yml ci: uci/copy-templates (#10787) 2025-05-09 21:53:37 +02:00
sync-release-assets.yml chore(deps): bump actions/setup-node from 5 to 6 (#11030) 2025-10-28 23:05:16 +01:00
test-migrations.yml feat: add built-in ipfs update command 2026-02-16 19:41:29 +01:00