Automated releases powered by pull request labels. Streamline you 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.
Release Features:
- Calculate semantic version bumps from PRs
- Skip a release with the
skip-releaselabel - 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.
Plugins
Auto has an extensive plugin system and wide variety of official plugins. Make a PR to add yours!
- chrome - publish code to Chrome Web Store
- conventional-commits - parse conventional commit messages for version bumps
- jira - Include jira story links in the changelog
- git-tag - Manage your projects version through just a git tag
- npm - publish code to npm (DEFAULT)
- 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 - slack - post release notes to slack
- twitter - post release notes to twitter
- upload-assets - add extra assets to the release
Start Developing
To get set up, fork and clone the project and run the following command:
yarnCleaning
yarn cleanLinting
yarn lintTesting
yarn testBuild/Typecheck
yarn buildIn watch mode:
yarn build:watchRun the docs
To deploy the docs you will need to add the documentation label to your pull request.
yarn docs:watchAdding a contributor
yarn contributors:addCreate a new plugin
Get stated 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"Contributing
Feel free to make and issue or open a pull request!
Make sure to read our code of conduct.
🚀 Projects Using auto 🚀
💅 auto Badge 💅
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
Contributors
Thanks goes to these wonderful people (emoji key):
Adam Dierkens | Andrew Lisowski | David | Orta | Justin Bennett | Alec Larson | Tyler Krupicka |
Zachary Sherwin |
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.
