Automated releases powered by pull request labels. Streamline you release workflow and publish constantly! auto
is meant to be run in a continuos 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-release
label - 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
released
label 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:
yarn
Cleaning
yarn clean
Linting
yarn lint
Testing
yarn test
Build/Typecheck
yarn build
In watch mode:
yarn build:watch
Run the docs
To deploy the docs you will need to add the documentation
label to your pull request.
yarn docs:watch
Adding a contributor
yarn contributors:add
Create 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.
auto
π
π Projects Using β webpack-inject-plugin - A webpack plugin to dynamically inject code into the bundle.
β storybook-addon-notes-github-markdown-css - Make your notes addon look like github markdown.
β html-webpack-insert-text-plugin - Insert text into the head or body of your HTML
β react-glider - A react wrapper for glider.js
β Ignite - Modern markdown documentation generator
β reaction - Artsyβs React Components
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 π» |
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.