Automated releases powered by pull request labels. Streamline your release workflow and publish constantly!
auto is meant to be run in a continuous integration (CI) environment, but all the commands work locally as well.
- Calculate semantic version bumps from PRs
- Skip a release with the
- Publish canary releases from PRs or locally
- Generate changelogs with fancy headers, authors, and monorepo package association
- Use labels to create new changelog sections
- Generate a GitHub release
Pull Request Interaction Features:
- Get the labels for a PR
- Set the status of a PR
- Check that a pull request has a SemVer label
- Comment on a PR with markdown
- Update the PR body with contextual build metadata
Visit the docs for more information.
Auto has an extensive plugin system and wide variety of official plugins. Make a PR to add yours!
- brew - Automate the creation of Homebrew formulae
- chrome - Publish code to Chrome Web Store
- crates - Publish Rust crates
- cocoapods - Version your Cocoapod, and push to your specs repository!
- git-tag - Manage your projects version through just a git tag (
defaultwhen used with binary)
- gradle - Publish code with gradle
- maven - Publish code with maven
- npm - Publish code to npm (
defaultwhen installed through
- all-contributors - Automatically add contributors as changelogs are produced using `all-contributors-cli
- conventional-commits - Parse conventional commit messages for version bumps
- exec - Tap into hooks and run scripts on the terminal
- first-time-contributor - Thank first time contributors for their work right in your release notes.
- gh-pages - Automate publishing to your gh-pages documentation website
- jira - Include Jira story links in the changelog
- omit-commits - Ignore commits base on name, email, subject, labels, and username
- omit-release-notes - Ignore release notes in PRs made by certain accounts
- released - Add a
releasedlabel to published PRs, comment with the version it's included in and comment on the issues the PR closes
- s3 - Post your built artifacts to amazon s3
- slack - Post release notes to slack
- twitter - Post release notes to twitter
- upload-assets - Add extra assets to the release
To get set up, fork and clone the project then run the following command:
You must build at least once before running the tests or lint.
In watch mode:
Installing the binary
Install the bundled binary onto your system. This requires the project to be built or in watch mode.
If running this for the first time you may also have to run the following command.
chmod +x /usr/local/bin/auto
Run the docs
Create a new plugin
Get started developing a new plugin in the monorepo in seconds.
The two arguments are:
- A spaced name
- A description
yarn create:plugin "My Plugin" "Do something really cool"
Make sure to read our code of conduct.
🚀 Projects Using
Does your project use
auto? Then use our custom badge!
🎨 Prior Art 🎨
auto is inspired by some excellent tech that came before it.
- github-semantic-version - Automated semantic version releases powered by Github Issues.
- lerna-changelog -
📖PR-based changelog generator with monorepo support
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
Adding a Contributor
To add a contributor run
yarn contributors:add, choose "Add new contributor or edit contribution type" and follow the prompts.