Comments (5)
@hacdias apologies, ipfs/distributions#1078 took longer than expected.
It works now, confirmed with 0.28-rc1 published at https://dist.ipfs.tech/kubo/v0.28.0-rc1/, feel free to resume with any remaining tasks.
from kubo.
Early testers ping for v0.28.0-rc1 testing 😄.
- Charity Engine (@Rytiss, @tristanolive)
- Fission (@bmann)
- Infura (@MichaelMure)
- OrbitDB (@aphelionz)
- pacman.store (@RubenKelevra)
- Pinata (@obo20)
- PL EngRes bifrost (@gmasgras)
- RTrade (@postables)
- Siderus (@koalalorenzo)
- Textile (@sanderpick)
You're getting this message because you're listed here. Please update this list if you no longer want to be included.
from kubo.
🎉 Kubo v0.28.0 is out!
from kubo.
✅ Release Checklist (v0.28.0-rc1)
- Prepare the release branch and update version numbers accordingly
using
./kuboreleaser --skip-check-before release --version vX.Y.Z(-rcN) prepare-branch
or ...- create a new branch
release-vX.Y.Z
- use
master
as base ifZ == 0
- use
release
as base ifZ > 0
- use
- update the
CurrentVersionNumber
in version.go in themaster
branch tovX.Y+1.0-dev
- update the
CurrentVersionNumber
in version.go in therelease-vX.Y
branch tovX.Y.Z(-RCN)
- create a draft PR from
release-vX.Y
torelease
- Cherry-pick commits from
master
to therelease-vX.Y.Z
usinggit cherry-pick -x <commit>
- Add full changelog and contributors to the changelog
- Replace the
Changelog
andContributors
sections of the changelog with the stdout of./bin/mkreleaselog
- do NOT copy the stderr
- Replace the
- verify all CI checks on the PR from
release-vX.Y
torelease
are passing - Merge the PR from
release-vX.Y
torelease
using theCreate a merge commit
- do NOT use
Squash and merge
norRebase and merge
because we need to be able to sign the merge commit - do NOT delete the
release-vX.Y
branch
- do NOT use
- create a new branch
- Run Thunderdome testing, see the Thunderdome release docs for details
- create a PR and merge the experiment config into Thunderdome
- Create the release tag
using
./kuboreleaser release --version vX.Y.Z(-rcN) tag
or ...- This is a dangerous operation! Go and Docker publishing are difficult to reverse! Have the release reviewer verify all the commands marked with
⚠️ ! -
⚠️ tag the HEAD commit usinggit tag -s vX.Y.Z(-RCN) -m 'Prerelease X.Y.Z(-RCN)'
-
⚠️ tag the HEAD commit of therelease
branch usinggit tag -s vX.Y.Z(-RCN) -m 'Release X.Y.Z(-RCN)'
-
⚠️ verify the tag is signed and tied to the correct commit usinggit show vX.Y.Z(-RCN)
-
⚠️ push the tag to GitHub usinggit push origin vX.Y.Z(-RCN)
- do NOT use
git push --tags
because it pushes all your local tags
- do NOT use
- This is a dangerous operation! Go and Docker publishing are difficult to reverse! Have the release reviewer verify all the commands marked with
- Publish the release to DockerHub
using
./kuboreleaser --skip-check-before --skip-run release --version vX.Y.Z(-rcN) publish-to-dockerhub
or ...- Wait for Publish docker image workflow run initiated by the tag push to finish
- verify the image is available on Docker Hub
- Verify ipfs/distributions's
.tool-versions
'sgolang
entry is set to the latest go release on the major go branch Kubo is being tested on (seego-version:
). - Publish the release to dist.ipfs.tech
using
./kuboreleaser release --version vX.Y.Z(-rcN) publish-to-distributions
or ...- check out ipfs/distributions
- run
./dist.sh add-version kubo vX.Y.Z(-RCN)
to add the new version to theversions
file - create and merge the PR which updates
dists/kubo/versions
anddists/go-ipfs/versions
( anddists/kubo/current_version
anddists/go-ipfs/current_version
) - wait for the CI workflow run initiated by the merge to master to finish
- verify the release is available on dist.ipfs.tech
- Publish the release to NPM
using
./kuboreleaser release --version vX.Y.Z(-rcN) publish-to-npm
(⚠️ you might need to run the command a couple of times because GHA might not be able to see the new distribution straight away due to caching) or ...- run the Release to npm workflow
- check Release to npm workflow run logs to verify it discovered the new release
- verify the release is available on NPM
- Publish the release to GitHub
using
./kuboreleaser release --version vX.Y.Z(-rcN) publish-to-github
or ...- create a new release on GitHub
- RC example
- FINAL example
- use the
vX.Y.Z(-RCN)
tag - link to the release issue
- link to the changelog in the description
- check the
This is a pre-release
checkbox - copy the changelog (without the header) in the description
- do NOT check the
This is a pre-release
checkbox
- run the sync-release-assets workflow
- wait for the sync-release-assets workflow run to finish
- verify the release assets are present in the GitHub release
- create a new release on GitHub
- Promote the release
using
./kuboreleaser release --version vX.Y.Z(-rcN) promote
or ...- create an IPFS Discourse topic
- prerelease example
- release example
- use
Kubo vX.Y.Z(-RCN) is out!
as the title - use
kubo
andgo-ipfs
as topics - repeat the title as a heading (
##
) in the description - link to the GitHub Release, binaries on IPNS, docker pull command and release notes in the description
- pin the IPFS Discourse topic globally
- you can make the topic a banner if there is no banner already
- verify the IPFS Discourse topic was copied to:
- #ipfs-chatter in IPFS Discord
- #ipfs-chatter in FIL Slack
- #ipfs-chatter:ipfs.io in Matrix
- Add the link to the IPFS Discourse topic to the GitHub Release description
- create an issue comment mentioning early testers on the release issue
- create an issue comment linking to the release on the release issue
- ask the marketing team to tweet about the release in #shared-pl-marketing-requests in FIL Slack
- post the link to the GitHub Release to Reddit
- create an IPFS Discourse topic
- Test the new version with
ipfs-companion
- Update Kubo in ipfs-desktop
using
./kuboreleaser release --version vX.Y.Z(-rcN) update-ipfs-desktop
or ...- check out ipfs/ipfs-desktop
- run
npm install
- create a PR which updates
package.json
andpackage-lock.json
- add @SgtPooki as reviewer
- Update Kubo docs
using
./kuboreleaser release --version vX.Y.Z(-rcN) update-ipfs-docs
or ...- run the update-on-new-ipfs-tag.yml workflow
- merge the PR created by the update-on-new-ipfs-tag.yml workflow run
- Ask Brave to update Kubo in Brave Desktop
- use this link to create an issue for the new Kubo version
- post link to the issue in
#shared-pl-brave
for visibility
- Create a blog entry on blog.ipfs.tech
- Merge the release branch back into master, ignoring the changes to version.go (keep the
-dev
) version,using
./kuboreleaser release --version vX.Y.Z(-rcN) merge-branch
or ...- create a new branch
merge-release-vX.Y.Z
fromrelease
- create and merge a PR from
merge-release-vX.Y.Z
tomaster
- create a new branch
- Prepare for the next release
using
./kuboreleaser release --version vX.Y.Z(-rcN) prepare-next
or ...- Create the next changelog
- Link to the new changelog in the CHANGELOG.md file
- Create the next release issue
- Create a dependency update PR
- check out ipfs/kubo
- run
go get -u
in root directory - run
go mod tidy
in root directory - run
go mod tidy
indocs/examples/kubo-as-a-library
directory - create a PR which updates
go.mod
andgo.sum
- add the PR to the next release milestone
- Close the release issue
from kubo.
✅ Release Checklist v0.28.0
This section covers tasks to be done during each release.
- Prepare the release branch and update version numbers accordingly
using
./kuboreleaser --skip-check-before release --version vX.Y.Z(-rcN) prepare-branch
or ...- create a new branch
release-vX.Y.Z
- use
master
as base ifZ == 0
- use
release
as base ifZ > 0
- use
- update the
CurrentVersionNumber
in version.go in themaster
branch tovX.Y+1.0-dev
- update the
CurrentVersionNumber
in version.go in therelease-vX.Y
branch tovX.Y.Z(-RCN)
- create a draft PR from
release-vX.Y
torelease
- Cherry-pick commits from
master
to therelease-vX.Y.Z
usinggit cherry-pick -x <commit>
- Add full changelog and contributors to the changelog
- Replace the
Changelog
andContributors
sections of the changelog with the stdout of./bin/mkreleaselog
- do NOT copy the stderr
- Replace the
- verify all CI checks on the PR from
release-vX.Y
torelease
are passing - Merge the PR from
release-vX.Y
torelease
using theCreate a merge commit
- do NOT use
Squash and merge
norRebase and merge
because we need to be able to sign the merge commit - do NOT delete the
release-vX.Y
branch
- do NOT use
- create a new branch
- Create the release tag
using
./kuboreleaser release --version vX.Y.Z(-rcN) tag
or ...- This is a dangerous operation! Go and Docker publishing are difficult to reverse! Have the release reviewer verify all the commands marked with
⚠️ ! -
⚠️ tag the HEAD commit usinggit tag -s vX.Y.Z(-RCN) -m 'Prerelease X.Y.Z(-RCN)'
-
⚠️ tag the HEAD commit of therelease
branch usinggit tag -s vX.Y.Z(-RCN) -m 'Release X.Y.Z(-RCN)'
-
⚠️ verify the tag is signed and tied to the correct commit usinggit show vX.Y.Z(-RCN)
-
⚠️ push the tag to GitHub usinggit push origin vX.Y.Z(-RCN)
- do NOT use
git push --tags
because it pushes all your local tags
- do NOT use
- This is a dangerous operation! Go and Docker publishing are difficult to reverse! Have the release reviewer verify all the commands marked with
- Publish the release to DockerHub
using
./kuboreleaser --skip-check-before --skip-run release --version vX.Y.Z(-rcN) publish-to-dockerhub
or ...- Wait for Publish docker image workflow run initiated by the tag push to finish
- verify the image is available on Docker Hub
- Verify ipfs/distributions's
.tool-versions
'sgolang
entry is set to the latest go release on the major go branch Kubo is being tested on (seego-version:
). - Publish the release to dist.ipfs.tech
using
./kuboreleaser release --version vX.Y.Z(-rcN) publish-to-distributions
or ...- check out ipfs/distributions
- run
./dist.sh add-version kubo vX.Y.Z(-RCN)
to add the new version to theversions
file - create and merge the PR which updates
dists/kubo/versions
anddists/go-ipfs/versions
( anddists/kubo/current_version
anddists/go-ipfs/current_version
) - wait for the CI workflow run initiated by the merge to master to finish
- verify the release is available on dist.ipfs.tech
- Publish the release to NPM
using
./kuboreleaser release --version vX.Y.Z(-rcN) publish-to-npm
(⚠️ you might need to run the command a couple of times because GHA might not be able to see the new distribution straight away due to caching) or ...- run the Release to npm workflow
- check Release to npm workflow run logs to verify it discovered the new release
- verify the release is available on NPM
- Publish the release to GitHub
using
./kuboreleaser release --version vX.Y.Z(-rcN) publish-to-github
or ...- create a new release on GitHub
- RC example
- FINAL example
- use the
vX.Y.Z(-RCN)
tag - link to the release issue
- link to the changelog in the description
- check the
This is a pre-release
checkbox - copy the changelog (without the header) in the description
- do NOT check the
This is a pre-release
checkbox
- run the sync-release-assets workflow
- wait for the sync-release-assets workflow run to finish
- verify the release assets are present in the GitHub release
- create a new release on GitHub
- Run Thunderdome testing, see the Thunderdome release docs for details
- create a PR and merge the experiment config into Thunderdome
- Promote the release
using
./kuboreleaser release --version vX.Y.Z(-rcN) promote
or ...- create an IPFS Discourse topic
- prerelease example
- release example
- use
Kubo vX.Y.Z(-RCN) is out!
as the title - use
kubo
andgo-ipfs
as topics - repeat the title as a heading (
##
) in the description - link to the GitHub Release, binaries on IPNS, docker pull command and release notes in the description
- pin the IPFS Discourse topic globally
- you can make the topic a banner if there is no banner already
- verify the IPFS Discourse topic was copied to:
- #ipfs-chatter in IPFS Discord
- #ipfs-chatter in FIL Slack
- #ipfs-chatter:ipfs.io in Matrix
- Add the link to the IPFS Discourse topic to the GitHub Release description
- create an issue comment mentioning early testers on the release issue
- create an issue comment linking to the release on the release issue
- ask the marketing team to tweet about the release in #shared-pl-marketing-requests in FIL Slack
- post the link to the GitHub Release to Reddit
- create an IPFS Discourse topic
- Test the new version with
ipfs-companion
- Update Kubo in ipfs-desktop
using
./kuboreleaser release --version vX.Y.Z(-rcN) update-ipfs-desktop
or ...- check out ipfs/ipfs-desktop
- run
npm install
- create a PR which updates
package.json
andpackage-lock.json
- add @SgtPooki as reviewer
- Update Kubo docs
using
./kuboreleaser release --version vX.Y.Z(-rcN) update-ipfs-docs
or ...- run the update-on-new-ipfs-tag.yml workflow
- merge the PR created by the update-on-new-ipfs-tag.yml workflow run
- Ask Brave to update Kubo in Brave Desktop
- use this link to create an issue for the new Kubo version
- post link to the issue in
#shared-pl-brave
for visibility
- Create a blog entry on blog.ipfs.tech
- Merge the release branch back into master, ignoring the changes to version.go (keep the
-dev
) version,using
./kuboreleaser release --version vX.Y.Z(-rcN) merge-branch
or ...- create a new branch
merge-release-vX.Y.Z
fromrelease
- create and merge a PR from
merge-release-vX.Y.Z
tomaster
- create a new branch
- Prepare for the next release
using
./kuboreleaser release --version vX.Y.Z(-rcN) prepare-next
or ...- Create the next changelog
- Link to the new changelog in the CHANGELOG.md file
- Create the next release issue
- Create a dependency update PR
- check out ipfs/kubo
- run
go get -u
in root directory - run
go mod tidy
in root directory - run
go mod tidy
indocs/examples/kubo-as-a-library
directory - create a PR which updates
go.mod
andgo.sum
- add the PR to the next release milestone
- Close the release issue
from kubo.
Related Issues (20)
- Ipfs kubo node memory usage increases endlessly HOT 4
- /api/v0/get can't save file and not equal cmd: ipfs get HOT 4
- kubo behind haproxy unable to return deserialized responses HOT 3
- Exception 0xc0000005 0x8 0x0 0x0 when try to run ipfs. HOT 2
- Binding UDP sockets to a non-IP address HOT 3
- Lost Some of the files HOT 2
- panic: runtime error: invalid memory address or nil pointer dereference
- Memory leak HOT 19
- Add ability to deny serving any `Paths` content on a gateway by default
- Debian handler scripts - Copy or Submodule? HOT 1
- Set the public gateway in the web UI, custom ports are not accepted.
- Add a grace period to obtain the lock to avoid "Error: lock /data/ipfs/repo.lock: someone else has the lock"
- Download & upload IPNS records through API / CLI HOT 3
- race condition bug or a flaky test: TestAddMultipleGCLive
- outdated coreiface/path reference in rpc example
- Release 0.31
- [question] How to failfast when get a none-exists CID HOT 1
- go1.23 timers cause issues with libp2p connmgr and more HOT 3
- Misleading error when attempting to add a socket file
- Systemd service fails to start when IPFS_PATH is not ~/.ipfs HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kubo.