-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Release candidates? #1533
Description
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 ofnpm link
. Usingnpm install ipfs
instead ofnpm link ipfs
will install only thedependencies
. It allows us to catch any missing dependencies or dependencies that have been incorrectly assigned todevDependencies
. - 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 thenpm 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