-
-
Notifications
You must be signed in to change notification settings - Fork 698
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Releasing canary versions as commits are made on the master
branch
#751
Comments
I agree. I make use of this kind of thing in other libraries. For example, in my ES6 projects I use |
I'm in agreement with this, for now. Ultimately I'd like us to use semantic release so that |
Well, since we all came into agreement, I'll tag this as |
Apparently there is an easier and cleaner way of doing releasing packages within TravisCI itself. Unfortunately I will need the ChaiJS user's API key for that. Would you mind sending that encrypted key? With that the rest of the process should be a fast and easy thing to do. |
@lucasfcosta we already have travis deploying on tags: https://github.com/chaijs/chai/blob/master/.travis.yml#L18-L27. We need an automated way to push to npm on master builds, likely using something like: after-success: test $TRAVIS_BRANCH -eq "master" && npm publish --tag canary |
I just tried to publish a tagged version of a package I own to test this Any ideas? What do you think about jumping straight to semantic-release? |
It should be possible to maintain Given the large number of changes since 3.5.0, I'd prefer finding a way to have a alpha/beta/canary/whatever period prior to switching to semantic-release style. |
@meeber Yes, that's exactly what we will need to do. What I mean is: it's impossible to release a version tagged beta with the number Each tagged or non-tagged release needs to have a different version number, it doesn't matter if other release with that tag has been published or not. |
Hello guys, so, due to the time I've been away this issue has been idle, so, I was thinking about getting back to it, but I still have doubts about what we should do, because even when using tags we need to have a non-existing version number. So, what should we do? How are we going to bump version numbers to release a tagged version? IMO bumping any version number seems a bit hackish to me, the optimal choice would be to have a different rule to create version numbers for |
@lucasfcosta does #751 (comment) not meet those requirements? We can change the version in the packagejson to something like |
So to expand:
|
So we're going to release this canary version manually, right? |
I think it's appropriate to release it manually, yes. We can ease into the automated semantic release stuff later. It looks like we're on the verge of being able to release canary. The open PRs on Chai are basically ready to go. I think the last things to take care of are #737 and chaijs/deep-eql#14. I'm hoping to review the latter within the next couple days, although it looks like there's already a couple known issues. Am I missing anything? |
@meeber Yes, you're right. |
Closing this since the Lucas Syndicate successfully released a canary version. |
Hello everyone!
I have seen many people wanting the new version to be release so they can use some fixes and new features we have implemented but have not yet been released. Especially this one, so I talked to @keithamus on Slack and he had the idea of releasing tagged
canary
(orbeta
, whatever you find more suitable) versions as we merge commits onmaster
. We could do this automatically using some CI tooling.What do you guys think?
If we did that people would be able to use the latest features (and they would be aware of that because they would need to explicitly use
@canary
when installing Chai) and we would also be able to get early feedback on the new things we merged tomaster
. IMO this would be great, it not only improves the quality of the next releases with early bug fixes (related: Boehms Curve) but it would also allow our users to have the latest features they've been wanting so bad 😄If everyone agrees we could also discuss how we're going to do that, but I think it would be as simple as adding a new target to our
makefile
which runs an npm dist-tag command when running builds for themaster
branch (we could detect those builds by usingthe TRAVIS_BRANCH environment variable
).@keithamus @meeber and anyone that wants to participate, feel free to share your thoughts 👍
The text was updated successfully, but these errors were encountered: