-
-
Notifications
You must be signed in to change notification settings - Fork 246
Add semantic release integration #251
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
Conversation
2efdd4f
to
00fa624
Compare
Wow this is big and exciting! I don't think I fully understand all of this so maybe I'll ask some questions and you can advise? This PR deletes the For me the changelog is a feature. I ❤️ it 😉 How do we keep that information available in semantic release world? Is it only visible on the releases page in GitHub? How does that work in the case of wanting to write some detailed notes as in the case of the 1.0.0 release? Your PR mentions Next question: what's the actual release process? There's a lot of changes in the PR and I didn't notice where that is explained? No doubt it's there; but I missed it 😊 |
00fa624
to
9179b66
Compare
Currently we have The deploy process is described well on the
To sum up - we will have to mind about proper commit message - this will be the input for the next version bump and the changelog :) |
We do. I do find it useful having that info in source code rather than just in GitHub releases. Admittedly it's unlikely we'd ever move away from GitHub, but if we did we'd have to work out a way to transfer that information manually. I'm doing a fair amount of k8s at the minute which has left me with the instinct "everything should be in source control". This departs from that. Also occasionally it's kinda handy (particularly if you're offline) to be able to refer back to the changelog without needing an internet connection.
Thanks - I'll have a read. It sounds like everything ends up being generated from commits. Maybe that's fine....I haven't tried it. But different can be good 😊 What's the story with squash and merge? I ask as many PRs are a collaborative process. Take: https://github.com/Realytics/fork-ts-checker-webpack-plugin/pull/231/commits It already has a bunch of commits on there and is likely to gain lots more. I'm kinda fine with that as people can try things out, commit with gay abandon, and when we're done we just squash and merge into a single clean commit with a meaningful comment. My concern here is that we may end up not being able to use squash and merge and instead have to take say 20 commits which represent a work in progress. It may only really be an individual commit we're interested in. We don't want the comments for commits along the way that didn't end up being an approach we end up using. What happens in this case? None of this is me saying "no" BTW - but I'm keen we have a workflow that supports us well and so I want to talk through the tricky scenarios. 😁 |
I get your point - I will add In terms of merging Pull requests - if there is more than 3 commits, I would prefer to squash them. When we squash we are able to change a commit message - this is where we can describe changes that will affect version bump and changelog :) Let's say that we have Pull request that adds node
|
Updated - it should generate |
Could you catch this up to master please? Then I assume we're ready to merge? And every time we merge to Perhaps you'd like to do the honours and merge this, and watch a release magically appear on npm? 😎 |
Add integration with commitlint and commitizen in order to force commit message standard (conventional-commit).
Add semantic release integration to automate releases, versioning and changelog generation
To keep CHANGELOG.md file in the repository, @semantic-release/changelog plugin has been integrated.
d4690b7
to
1b538f9
Compare
Done :) |
This will be merged to the beta branch, so master will not be using semantic release. We will have to merge beta to the master to start semantic release flow there. |
Will we need to do this every time? I can see you've raised this PR against And if someone wants something to go out as a beta in future then the way they do that is by raising a PR against beta. Is that about the size of it? Also, I've just realised I've put commits on this PR that weren't made using the new mechanism... Is that going to be an issue? Or can you squash and merge your way to glory? 😄 |
Essentially, as I understand it, everything in So yes, all PRs should first get merged into |
This is going to need some getting used to! I'm game though 😄 |
@johnnyreilly Commits that are not following conventional commit schema are just ignored. As far as I know, there is no way to force a commit schema in the GitHub web app. I will squash them anyway 😃 There is a lot of people using this plugin - we should be more careful about releasing new version on the stable channel 📦 That's why I propose to use beta channel for new features. @phryneas Exactly -
|
@piotr-oles something still seems to be wrong there: https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin/jobs/522570604 |
It's weird - I can see that the merge has taken place though: https://github.com/Realytics/fork-ts-checker-webpack-plugin/tree/beta Although there's no update to the @piotr-oles can you advise please? |
I’will take a look tomorrow :) |
🎉 This PR is included in version 1.2.0-beta.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
@piotr-oles I'm assuming this means you managed to remedy the problems? I've just shipped #260 (comment) v1.1.1 using the old approach.... Are we now ready to try the new approach? |
There is still a problem with updating |
🎉 This PR is included in version 1.2.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Automates releases, versioning and changelog generation ✨
Release branches are:
beta
- for pre-releasesmaster
- for releasesMerging to these branches starts release process.