Skip to content
This repository was archived by the owner on Feb 12, 2024. It is now read-only.
This repository was archived by the owner on Feb 12, 2024. It is now read-only.

Release candidates? #1533

@alanshaw

Description

@alanshaw

We're nearly ready to go with js-ipfs 0.32. I wanted to get peoples thoughts and opinions on adding a step to the release process "Publish a release candidate".

When all the PRs for a release are merged, the usual order of events is to announce publicly that a new release is coming, then after a few days and no blocking feedback the release would go ahead.

This step would come after "Ensure that all tests are passing" and before "Run tests of the following projects with the new release".

So I'd run something like:

npm version 0.32.0-rc.1
# Publish with "next" tag to ensure people still get 0.31.7 when they `npm i ipfs`
# People can also `npm i ipfs@next` to get the latest and greatest
# "next" tag is fairly common - react, redux, hapi all have one
npm publish --tag next
git push origin master v0.32.0-rc.1

I see a number of benefits to doing this:

  • When testing against the popular projects and running the examples we can do a proper npm install instead of npm link. Using npm install ipfs instead of npm link ipfs will install only the dependencies. It allows us to catch any missing dependencies or dependencies that have been incorrectly assigned to devDependencies.
  • IMHO people will be more likely to install and test out a new release if they can npm install it. The git clone, npm i, npm link, npm link ipfs process is a massive hurdle
  • On that same point, we can more easily verify that a release will fix an issue - we simply ask the reporter to install 0.32.0-rc.1. Again I think we'll get more people doing this than the npm link dance
  • More people testing out a pre-release allows us to fix bugs and have more stable releases
  • It's easier to let people know how to try it out by tweeting npm i ipfs@0.32.0-rc.1

The only other thing to mention is that we can't do this with AEgir atm so the CHANGELOG would be untouched - but I think that's ok anyway...

The downsides I can see are this:

  • Maybe this is too soon? We're not even 1.0.0 yet, arguably it doesn't matter if things get broken in a 0.x release
  • Adds even more process to the release process

Please add a 👍 or 👎 if you think this is a good/bad idea. Ideally if you 👎 then a comment to explain! Thank you ❤️

@ipfs/javascript-team

Metadata

Metadata

Assignees

Labels

kind/supportA question or request for support

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions