feat(ci): automate build and releases #215
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What:
This pull request allows new versions of PRC to automatically increment and release new versions to NPM and Github based on parsing the commit messages. It also runs the tests in all currently supported stable versions of node and makes sure lint rules pass. Finally, whenever the build is triggered by a weekly chron job, the tests will run using
react@next
as requested by the React team.Why:
Manually releasing can be tedious, and automating the process really improves efficiency. Additionally, if the releases happen automatically, folks who create pull requests to fix an issue they're seeing with their use case, we can quickly get them a release that fixes the issue. The faster we can release, the better we support ourselves and our users.
How:
This mostly relies on semantic-release and commitizen. As long as the format is followed, everything will be automated for us. The only thing we have to do differently is make sure that any merge commit follows the conventional commit format, which is very easy to follow. As long as the parser sees a conventional commit on a build, it will:
Checklist:
So for example, the current version of PRC is v1.23.3. When this is merged, my commit message would be something like:
So, when merged, this will:
dist
artifact of v1.24.0 to Github