Releases are cut by release-please. You do not bump the version or create tags by hand. The only manual work left is uploading the built extension to the Firefox Add-Ons and Chrome Web Store.
release-please watches main and keeps an open pull request titled chore: release vX.Y.Z. It bumps the version in package.json and add-on/manifest.common.json and updates CHANGELOG.md from the conventional-commit history.
To ship:
chore: release ... PR. The version bump and changelog are the review gate, so confirm they look right.On merge, CI does the rest:
vX.Y.Z and publishes the GitHub release with auto-generated notes,ipfs_companion-<version>_chromium.zip and ipfs_companion-<version>_firefox.zip (this takes a few minutes after the release appears).The zips attached to the release are what you upload to the stores below. To build the same bundles locally (for example, when a store reviewer asks for a reproducible build), run npm run release-build, which builds inside Docker for identical output across platforms.
If release-please or CI is down and a fix has to ship now, cut the release by hand. The store-publish steps below are the same either way.
X.Y.Z in all three files so the next automated run stays in sync:
package.jsonadd-on/manifest.common.json.release-please-manifest.json (the baseline release-please reads; skipping it is what breaks the following automated release)CHANGELOG.md entry.chore: release vX.Y.Z and get it onto main (a quick PR, or directly if you have push access). git tag vX.Y.Z && git push origin vX.Y.Z # keep the 'v' prefix
npm run release-build
The build/ directory then holds ipfs_companion-<version>_chromium.zip and ipfs_companion-<version>_firefox.zip.
vX.Y.Z tag at https://github.com/ipfs/ipfs-companion/releases, fill notes with GitHub’s auto-generated release notes, and attach both zips.All Chromium-based browsers support install from Chrome Web Store. Brave, Opera, and Edge do not require an additional publishing step.
IPFS ShipyardIPFS Companion and IPFS Companion (Beta @ xxxxxx). If not, select Items on the left menu.IPFS Companion.Package on the left menu (Under the Build category).ipfs_companion-<version>_chromium.zip attached to the GitHub release.Store listing section from the left sub-menu. (This should happen automatically after uploading a new package).Save Draft and then Submit for Review.Manage My Submissions from the drop-down menu from your username.IPFS Companion item.Manage Status & VersionsUpload a New Version.ipfs_companion-<version>_firefox.zip attached to the GitHub release.Compatibility select both :
Do you need to submit source code select yes
.zip with Source Code for the release tag.npm run release-build so they can run the build in a Docker container and get reproducible result across platforms)