πŸ“¦:πŸ› βœ¨πŸ’₯ – fully automated package publishing
Switch branches/tags
@ lerna-semantic-release@9.1.0 lerna-semantic-release@9.0.7 lerna-semantic-release@8.0.2 lerna-semantic-release@8.0.0 lerna-semantic-release@5.0.1 lerna-semantic-release@4.0.2 lerna-semantic-release@4.0.1 lerna-semantic-release@3.0.0 lerna-semantic-release@2.2.0 lerna-semantic-release@2.1.28 lerna-semantic-release@2.1.27 lerna-semantic-release@2.1.11 lerna-semantic-release@2.1.10 lerna-semantic-release@2.1.1 lerna-semantic-release@2.1.0 lerna-semantic-release@2.0.5 lerna-semantic-release@2.0.4 lerna-semantic-release@2.0.3 lerna-semantic-release@2.0.1 lerna-semantic-release@2.0.0 lerna-semantic-release@1.0.0 lerna-semantic-release-utils@4.0.15 lerna-semantic-release-utils@4.0.14 lerna-semantic-release-utils@4.0.13 lerna-semantic-release-utils@4.0.1 lerna-semantic-release-utils@1.0.9 lerna-semantic-release-utils@1.0.2 lerna-semantic-release-utils@1.0.1 lerna-semantic-release-utils@1.0.0 lerna-semantic-release-utils@0.0.0 lerna-semantic-release-pre@4.1.1 lerna-semantic-release-pre@4.1.0 lerna-semantic-release-pre@4.0.14 lerna-semantic-release-pre@4.0.2 lerna-semantic-release-pre@4.0.1 lerna-semantic-release-pre@1.1.2 lerna-semantic-release-pre@1.1.1 lerna-semantic-release-pre@1.1.0 lerna-semantic-release-pre@1.0.4 lerna-semantic-release-pre@1.0.3 lerna-semantic-release-pre@1.0.2 lerna-semantic-release-pre@1.0.1 lerna-semantic-release-pre@1.0.0 lerna-semantic-release-pre@0.0.0 lerna-semantic-release-post@6.0.0 lerna-semantic-release-post@5.0.15 lerna-semantic-release-post@5.0.14 lerna-semantic-release-post@5.0.13 lerna-semantic-release-post@5.0.1 lerna-semantic-release-post@5.0.0 lerna-semantic-release-post@1.1.2 lerna-semantic-release-post@1.1.1 lerna-semantic-release-post@1.1.0 lerna-semantic-release-post@1.0.3 lerna-semantic-release-post@1.0.2 lerna-semantic-release-post@1.0.1 lerna-semantic-release-post@1.0.0 lerna-semantic-release-post@0.0.0 lerna-semantic-release-perform@4.1.0 lerna-semantic-release-perform@4.0.16 lerna-semantic-release-perform@4.0.15 lerna-semantic-release-perform@4.0.14 lerna-semantic-release-perform@4.0.13 lerna-semantic-release-perform@4.0.1 lerna-semantic-release-perform@1.2.0 lerna-semantic-release-perform@1.1.1 lerna-semantic-release-perform@1.1.0 lerna-semantic-release-perform@1.0.11 lerna-semantic-release-perform@1.0.5 lerna-semantic-release-perform@1.0.4 lerna-semantic-release-perform@1.0.2 lerna-semantic-release-perform@1.0.1 lerna-semantic-release-perform@1.0.0 lerna-semantic-release-perform@0.0.0 lerna-semantic-release-io@7.0.2 lerna-semantic-release-io@7.0.1 lerna-semantic-release-io@7.0.0 lerna-semantic-release-io@6.0.1 lerna-semantic-release-io@6.0.0 lerna-semantic-release-io@5.0.13 lerna-semantic-release-io@5.0.1 lerna-semantic-release-io@2.0.4 lerna-semantic-release-io@2.0.3 lerna-semantic-release-io@2.0.2 lerna-semantic-release-io@2.0.1 lerna-semantic-release-io@2.0.0 lerna-semantic-release-io@1.1.0 lerna-semantic-release-io@1.0.13 lerna-semantic-release-io@1.0.12 lerna-semantic-release-io@1.0.11 lerna-semantic-release-io@1.0.10 lerna-semantic-release-io@1.0.3 lerna-semantic-release-io@1.0.2 lerna-semantic-release-io@1.0.1 lerna-semantic-release-io@1.0.0 lerna-semantic-release-io@0.0.1 lerna-semantic-release-io@0.0.0 lerna-semantic-release-get-last-release@5.0.2 lerna-semantic-release-get-last-release@5.0.1
Nothing to show
Clone or download
Pull request Compare This branch is 668 commits ahead, 354 commits behind semantic-release:caribou.
design-platform chore(release): releasing component
affects: lerna-semantic-release-analyze-commits@4.2.1

Released from sha f46eb8f

[skip ci]
Tag for lerna release
Latest commit 1a9b055 May 4, 2017

README.md

lerna-semantic-release

Status: npm version npm downloads Build Status

semantic-release for lerna-based projects.

Basically a semantic-release that orders commits based on which package they belong to (uses data from cz-lerna-changelog) and then determines on that what the next release should be.

Setup

Setting up commitizen

Install cz-lerna-changelog in your repository:

npm install commitizen -g

Next, initialize your project to use the cz-lerna-changelog adapter by typing:

commitizen init cz-lerna-changelog --save-dev --save-exact

See the commitizen-cli docs for more details on how to set up commitzen with the correct adapter.

Setting up the build

You'll need to set up your build in such a way that tags and commits can be pushed back to the repository. This is so that lerna can stay in sync with the NPM releases.

You'll also need to set the NPM_TOKEN environment variable so that npm can run npm publish on your components.

Travis CI integration

See .travis.yml and .travis/ in this repository for examples of how to set up lerna-semantic-release with Travis CI.

The following environment variables will need to be set:

NPM_CONFIG_EMAIL 
NPM_CONFIG_USERNAME 
NPM_TOKEN 
GH_TOKEN 
RELEASE_GH_TOKEN
RELEASE_GH_USERNAME

Releasing

Execute these commands in your release process:

# Pre
lerna-semantic-release pre # Set up the versions, tags and commits

# Perform
lerna-semantic-release perform # Publishes to npm

# Post
lerna-semantic-release post # Generates a changelog in each package in a file named CHANGELOG.md - will not commit or push that file any more after version 7.0.5 any more. If you want to do something with it, you will need to do this manually.

This will publish all npm packages, including creating commits and tags for each release, in the format that lerna expects for the `lerna updated` command.