EricSmekens / jsep

JavaScript Expression Parser
http://ericsmekens.github.io/jsep/
MIT License
827 stars 133 forks source link

Updated CI for automated releases with semantic-release #177

Closed 6utt3rfly closed 3 years ago

6utt3rfly commented 3 years ago

Fixes #171

Update the CI to use semantic-release. (actually semantic-release-plus, to allowcommitPaths to filter the commits for jsep and per package). Basically, it automatically generates a tag, updates the changelog, and publishes to npm on any push to the main branch.

Note: requires that all commit messages follow the required template format. Commit messages that don't follow this format will not trigger a release or be included in the changelog. To group changes, the overall workflow should likely change to use an alpha branch. The CI workflow could be setup to watch those other branches then (instead of just the main branch) so that it can publish alpha or beta versions.

Before release: Part of how it works is by looking for existing tags and then all commits since that tag. Before releasing this, all plugins would need to be tagged, like @jsep-plugin/arrow-1.0.1. jsep itself is still tagged as just v1.0.2.

(I forked jsep so I could test everything in isolation. Feel free to play there as well and view the action/pr history. That fork skips publishing to NPM - by config in the package.json - but is otherwise the same)

6utt3rfly commented 3 years ago

@EricSmekens Would you like me to create some tags if this is okay for the new automated build system?

Thoughts on this system @LeaVerou ?