From 15de6e2e355c157cd6a40c916935c9164436a86a Mon Sep 17 00:00:00 2001 From: Marcin Rataj Date: Sat, 27 Jun 2026 15:41:19 +0200 Subject: [PATCH 1/4] chore: build macos kubo from github releases Parked until kubo is bumped to the npm-kubo release that fetches from GitHub releases (ipfs/npm-kubo#83). The current kubo still uses the dist.ipfs.tech layout, so do not merge before that bump. --- pkgs/macos/build-universal-kubo-binary.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/macos/build-universal-kubo-binary.js b/pkgs/macos/build-universal-kubo-binary.js index ac9ef6e19..d39f9f0e6 100644 --- a/pkgs/macos/build-universal-kubo-binary.js +++ b/pkgs/macos/build-universal-kubo-binary.js @@ -39,11 +39,16 @@ const execLog = (cmd) => { const architectures = ['amd64', 'arm64'] for (const arch of architectures) { const archDir = path.join(tmpDir, `kubo-${arch}`) + // TODO: parked until the `kubo` dependency is bumped to the npm-kubo + // release that fetches from GitHub releases and accepts `releasesUrl` + // (ipfs/npm-kubo#83). Do not merge before that version is published and + // `kubo` is bumped in package.json; until then the installed kubo still + // expects `distUrl` (dist.ipfs.tech). await downloadKubo({ version: kuboVersion, platform: 'darwin', arch: arch, - distUrl: 'https://dist.ipfs.tech', + releasesUrl: 'https://github.com/ipfs/kubo/releases', installPath: archDir }) console.log(`→ Downloaded ${arch} version to ${archDir}`) From 10caa5ebe990060d24f16867dc4db588ccc368f4 Mon Sep 17 00:00:00 2001 From: Marcin Rataj Date: Sat, 27 Jun 2026 15:48:20 +0200 Subject: [PATCH 2/4] test: install kubo from the pr branch Temporary: point the kubo dependency at the ipfs/npm-kubo#83 branch over git+https so CI clones it and exercises the GitHub-releases fetch end to end. Revert to a published kubo version before merging. --- package-lock.json | 10 ++++------ package.json | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4bc98ba76..fedfe5e4a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "ipfs-utils": "^9.0.10", "ipfsd-ctl": "10.0.6", "it-last": "^1.0.6", - "kubo": "0.42.0", + "kubo": "git+https://github.com/ipfs/npm-kubo.git#fix/binary-fetching", "multiaddr": "10.0.1", "multiaddr-to-uri": "8.0.0", "portfinder": "^1.0.32", @@ -8035,8 +8035,7 @@ }, "node_modules/kubo": { "version": "0.42.0", - "resolved": "https://registry.npmjs.org/kubo/-/kubo-0.42.0.tgz", - "integrity": "sha512-980G+BC9sLKJZIjaJ2hI6sWMkYP55Fo00BRcBaoIZ0uPUUuiHu7u69ZTSsWTyBA6MbkLPAWCgbCD9jh3GWN2yA==", + "resolved": "git+https://github.com/ipfs/npm-kubo.git#798db89616ea49c0bc918c5340bc7112f57c7ed9", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -19377,9 +19376,8 @@ } }, "kubo": { - "version": "0.42.0", - "resolved": "https://registry.npmjs.org/kubo/-/kubo-0.42.0.tgz", - "integrity": "sha512-980G+BC9sLKJZIjaJ2hI6sWMkYP55Fo00BRcBaoIZ0uPUUuiHu7u69ZTSsWTyBA6MbkLPAWCgbCD9jh3GWN2yA==", + "version": "git+https://github.com/ipfs/npm-kubo.git#798db89616ea49c0bc918c5340bc7112f57c7ed9", + "from": "kubo@git+https://github.com/ipfs/npm-kubo.git#fix/binary-fetching", "requires": { "cachedir": "^2.3.0", "got": "^11.7.0", diff --git a/package.json b/package.json index 20f439756..46ca2916a 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "ipfs-utils": "^9.0.10", "ipfsd-ctl": "10.0.6", "it-last": "^1.0.6", - "kubo": "0.42.0", + "kubo": "git+https://github.com/ipfs/npm-kubo.git#fix/binary-fetching", "multiaddr": "10.0.1", "multiaddr-to-uri": "8.0.0", "portfinder": "^1.0.32", From 2274a82d13e8850c5d910f7c219d40510c89e5b1 Mon Sep 17 00:00:00 2001 From: Marcin Rataj Date: Sun, 28 Jun 2026 13:01:12 +0200 Subject: [PATCH 3/4] test: repin kubo to include the bin-dir fix Bump the pinned npm-kubo commit to the one that creates bin/ before linking, so CI's git install no longer fails. Revert with the rest of the test wiring before merge. --- package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index fedfe5e4a..a9deade46 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8035,7 +8035,7 @@ }, "node_modules/kubo": { "version": "0.42.0", - "resolved": "git+https://github.com/ipfs/npm-kubo.git#798db89616ea49c0bc918c5340bc7112f57c7ed9", + "resolved": "git+https://github.com/ipfs/npm-kubo.git#e5cb89bc9d10642a3ef49169f3c99c5c3d08e2b7", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -19376,7 +19376,7 @@ } }, "kubo": { - "version": "git+https://github.com/ipfs/npm-kubo.git#798db89616ea49c0bc918c5340bc7112f57c7ed9", + "version": "git+https://github.com/ipfs/npm-kubo.git#e5cb89bc9d10642a3ef49169f3c99c5c3d08e2b7", "from": "kubo@git+https://github.com/ipfs/npm-kubo.git#fix/binary-fetching", "requires": { "cachedir": "^2.3.0", From 5d8ec8f078a31be7f33ba6abd5d268dc5550c069 Mon Sep 17 00:00:00 2001 From: Marcin Rataj Date: Fri, 3 Jul 2026 16:25:50 +0200 Subject: [PATCH 4/4] chore: install kubo from merged npm-kubo ipfs/npm-kubo#83 (on-demand binary fetch from github releases) landed on master. Pin the kubo dependency to the latest npm-kubo master commit and drop the macos build TODO that was gating the switch. --- package-lock.json | 10 ++++++---- package.json | 2 +- pkgs/macos/build-universal-kubo-binary.js | 5 ----- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index a9deade46..dcf36a0bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "ipfs-utils": "^9.0.10", "ipfsd-ctl": "10.0.6", "it-last": "^1.0.6", - "kubo": "git+https://github.com/ipfs/npm-kubo.git#fix/binary-fetching", + "kubo": "git+https://github.com/ipfs/npm-kubo.git#7a5e299c801ee9eae2c29d8753b76dc23b007e14", "multiaddr": "10.0.1", "multiaddr-to-uri": "8.0.0", "portfinder": "^1.0.32", @@ -8035,7 +8035,8 @@ }, "node_modules/kubo": { "version": "0.42.0", - "resolved": "git+https://github.com/ipfs/npm-kubo.git#e5cb89bc9d10642a3ef49169f3c99c5c3d08e2b7", + "resolved": "git+https://github.com/ipfs/npm-kubo.git#7a5e299c801ee9eae2c29d8753b76dc23b007e14", + "integrity": "sha512-MgY1goKZS03WQduxkdUOOqtJzHJ7SEzjx6ZBjv6KrRYnXG+6h8zN3anKuPOTgXqm8piEnwnwwHMIKfM485zX8g==", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -19376,8 +19377,9 @@ } }, "kubo": { - "version": "git+https://github.com/ipfs/npm-kubo.git#e5cb89bc9d10642a3ef49169f3c99c5c3d08e2b7", - "from": "kubo@git+https://github.com/ipfs/npm-kubo.git#fix/binary-fetching", + "version": "git+https://github.com/ipfs/npm-kubo.git#7a5e299c801ee9eae2c29d8753b76dc23b007e14", + "integrity": "sha512-MgY1goKZS03WQduxkdUOOqtJzHJ7SEzjx6ZBjv6KrRYnXG+6h8zN3anKuPOTgXqm8piEnwnwwHMIKfM485zX8g==", + "from": "kubo@git+https://github.com/ipfs/npm-kubo.git#7a5e299c801ee9eae2c29d8753b76dc23b007e14", "requires": { "cachedir": "^2.3.0", "got": "^11.7.0", diff --git a/package.json b/package.json index 46ca2916a..3e2419d41 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "ipfs-utils": "^9.0.10", "ipfsd-ctl": "10.0.6", "it-last": "^1.0.6", - "kubo": "git+https://github.com/ipfs/npm-kubo.git#fix/binary-fetching", + "kubo": "git+https://github.com/ipfs/npm-kubo.git#7a5e299c801ee9eae2c29d8753b76dc23b007e14", "multiaddr": "10.0.1", "multiaddr-to-uri": "8.0.0", "portfinder": "^1.0.32", diff --git a/pkgs/macos/build-universal-kubo-binary.js b/pkgs/macos/build-universal-kubo-binary.js index d39f9f0e6..c327d1de9 100644 --- a/pkgs/macos/build-universal-kubo-binary.js +++ b/pkgs/macos/build-universal-kubo-binary.js @@ -39,11 +39,6 @@ const execLog = (cmd) => { const architectures = ['amd64', 'arm64'] for (const arch of architectures) { const archDir = path.join(tmpDir, `kubo-${arch}`) - // TODO: parked until the `kubo` dependency is bumped to the npm-kubo - // release that fetches from GitHub releases and accepts `releasesUrl` - // (ipfs/npm-kubo#83). Do not merge before that version is published and - // `kubo` is bumped in package.json; until then the installed kubo still - // expects `distUrl` (dist.ipfs.tech). await downloadKubo({ version: kuboVersion, platform: 'darwin',