Adamant-im / Adamant-im/ipfs-node
[Task] Release ADAMANT IPFS Node v0.1.0 from master
- Dominant language
- TypeScript
- Stars
- 301
- Forks
- 3
- Avg merge
- 23h 4m
- Merged PRs (30d)
- 6
Description
Summary
Release ADAMANT IPFS Node v0.1.0 from master: merge dev into master, re-cut the v0.1.0 tag and GitHub Release from master, confirm the container publication, and announce the first public release.
v0.1.0 is already tagged and published, but from dev. This task moves the released commit onto master, so that master is the branch a release is cut from, and re-runs the release pipeline against it.
Current state
masterholds only the initial commit64c9672, withLICENSEand a two-lineREADME.md; the whole product lives ondev- The
v0.1.0tag points at262464condev, published on 2026-09-12 withtargetCommitish: dev, not a prerelease and not immutable devis six commits ahead of that tag, throughf4d17e0. They touch the workflows,README.md,AGENTS.md, the contributing page,tsconfig.json, andscripts/docker-smoke-test.sh. Nosrc/, noDockerfile, nopackage.json, anddistwas compared before and after thetsconfig.jsonchange and is byte-identical, so the service runtime and the image contents do not changepackage.jsonis at0.1.0, whichpublish-docker.ymlcompares against the release tag before buildingghcr.io/adamant-im/ipfs-nodecarries0.1.0andlatestfrom the dev-based release. That build predates the label fix in3e4f827, so itsorg.opencontainers.image.titleis the bare repository name rather thanADAMANT IPFS Node- Publication is now gated on
master:publish-docker.ymlrefuses a tag that is not an ancestor ofmaster, so the existingv0.1.0tag ondevcan no longer publish and must be moved - CI, Security Audit, Docs, and Container all pass on
dev
Publications
- Prepare release notes
- Merge
devintomaster - Re-cut the
v0.1.0tag and GitHub Release frommaster - Container published to GHCR
- Documentation site serves the released content
- Prepare news article
- Prepare screenshots/video
- GitHub Forum
- News blog
- X post
Additional actions
- Verify that the released tag includes every change merged into
dev - Verify that the tag matches the
package.jsonversion0.1.0 - Verify that CI and Security Audit pass on
master - Verify that
Publish containersucceeded and that the runtime smoke test passed onlinux/amd64andlinux/arm64 - Verify that
ghcr.io/adamant-im/ipfs-node:0.1.0and:latestresolve, run unprivileged, and carry the ADAMANT OCI labels, the SBOM, and the provenance attestation - Verify that the documentation is updated
- Verify that the API schema is updated
- Verify the README and documentation quick starts against the published image
- Verify the repository presentation: description, topics, website, and the release marked as latest
Notes
The publication gate now points at master
.github/workflows/publish-docker.yml used to require the release tag to be an ancestor of dev, which meant a merge commit on master could not be tagged and published. It now requires the tag to be an ancestor of master, so:
- #38 can be merged with any method, including the GitHub merge button
- a tag left on
devor on a feature branch is refused before anything is built, which is the point: a release comes frommasteronly - the existing
v0.1.0tag, which sits ondevat262464c, would now be refused if its release were re-published as is. It has to be moved to themastercommit
The Container workflow also runs on master now, so the image publication will build is smoke-tested on both architectures before the tag exists. The branch model is written down in AGENTS.md and on the contributing page.
Re-publishing over the existing tag
The release is not immutable, so v0.1.0 can be deleted and re-created. Re-publishing triggers publish-docker.yml again and overwrites 0.1.0 and latest in GHCR. Re-using the same version number is defensible here because the three commits added since the tag do not touch the runtime, and the rebuild fixes the OCI labels on the published image. If the version number must stay pinned to exactly one artifact, bump to 0.1.1 in the same change instead.
Out of scope
- npm publication:
package.jsonkeepsprivate: true, so this release distributes a container image and a source checkout, not an npm package - App Store, Google Play, and YouTube steps from the organization release template do not apply to a server-side product
- The documentation site deploys from
devonly and deliberately has noreleasetrigger (#36), so merging intomasterdoes not redeploy it
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.