As an engineer, it would be nice to have a way to instruct Travis automatically publish to npm or to publish locally using an automated process.
An automated publish could be triggered by committing to master w/ [npm-publish] in the commit message. The system would then validate the commit, check that version in package.json is valid and not marked w/ -pre, and that the version is not already published to npm.
The process would look something like this:
- prompt for npm credentials (if running locally)
- assert no changed files in git
- check package.json's version
- no
-pre tag
- version isn't already published on npm
- new version is the latest version
- publish to npm
- a tag is added to git using the released version
- the version in
package.json is incremented and a -pre tag is added
- the new
package.json is committed and pushed w/ the tags
- (optional) the commit information from the previous release is displayed (for release notes)
- (optional) the new release is tagged using the GitHub APIs and the above commit information is used
NOTE: Doing a GitHub release requires OAuth credentials for GitHub, which would provide access to all repositories, so we may want to consider automating release notes as a separate feature.
As an engineer, it would be nice to have a way to instruct Travis automatically publish to npm or to publish locally using an automated process.
An automated publish could be triggered by committing to master w/
[npm-publish]in the commit message. The system would then validate the commit, check that version inpackage.jsonis valid and not marked w/-pre, and that the version is not already published to npm.The process would look something like this:
-pretagpackage.jsonis incremented and a-pretag is addedpackage.jsonis committed and pushed w/ the tagsNOTE: Doing a GitHub release requires OAuth credentials for GitHub, which would provide access to all repositories, so we may want to consider automating release notes as a separate feature.