I struggle to find an optimal strategy for PRs and versioning across git/ npm. Problems that arise:
- Internally created PRs aggregate a lot of work so we bump the git/ npm version.
- Other PRs, made by external contributors, are normally smaller in size, therefore we bundle them with other PRs and only then bump the versions.
- This inconsistency messes up with the CHANGELOG files, because sometimes we link to commits and other times to PRs.
We are a team of 10. What are your thoughts to make this process smoother? Do you follow a particular strategy or do you think this is over-optimisation?
There at least two different concepts at play here: PRs and releases. Your first point makes me think that your internal PRs not only commit new code to master but also prepare a release. Decoupling the two may help.
I don't know the details of your project but I'd suggest the following start point:
Let me emphasise that it's important to work on the strategy level (roadmap, releases) and tactical level (enhancements, etc.) separately. A similar distinct needs to be made in product development where PRs, deployments, and releases are three different beasts and should be treated differently.