Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/intuit/auto
Generate releases based on semantic version labels on pull requests.
https://github.com/intuit/auto
auto-release github hack hacktoberfest jira publishing release releases slack
Last synced: about 17 hours ago
JSON representation
Generate releases based on semantic version labels on pull requests.
- Host: GitHub
- URL: https://github.com/intuit/auto
- Owner: intuit
- License: mit
- Created: 2018-12-03T18:10:31.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2024-10-25T01:28:50.000Z (about 2 months ago)
- Last Synced: 2024-10-25T02:41:32.632Z (about 2 months ago)
- Topics: auto-release, github, hack, hacktoberfest, jira, publishing, release, releases, slack
- Language: TypeScript
- Homepage: https://intuit.github.io/auto/
- Size: 59.5 MB
- Stars: 2,263
- Watchers: 17
- Forks: 204
- Open Issues: 145
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome - auto - Generate releases based on semantic version labels on pull requests. (TypeScript)
- awesome-fe-resources - auto
- jimsghstars - intuit/auto - Generate releases based on semantic version labels on pull requests. (TypeScript)
- awesome-javascript - auto-monorepo
- awesome-javascript - auto-monorepo
README
Generate releases based on semantic version labels on pull requests
---
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.
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 releasePull 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 metadataVisit [the docs](https://intuit.github.io/auto/) for more information.
## :pushpin: Plugins :pushpin:
Auto has an extensive plugin system and wide variety of official plugins. Make a PR to add yours!
**Package Managers:**
- [brew](./plugins/brew) - Automate the creation of Homebrew formulae
- [chrome](./plugins/chrome) - Publish code to Chrome Web Store
- [cocoapods](./plugins/cocoapods) - Version your [CocoaPod](https://cocoapods.org/), and push to your specs repository!
- [crates](./plugins/crates) - Publish Rust crates
- [docker](./plugins/docker) - Publish images with Docker
- [gem](./plugins/gem) - Publish ruby gems
- [git-tag](./plugins/git-tag) - Manage your projects version through just a git tag (`default` when used with binary)
- [gradle](./plugins/gradle) - Publish code with gradle
- [maven](./plugins/maven) - Publish code with maven
- [npm](./plugins/npm) - Publish code to npm (`default` when installed through `npm`)
- [sbt](./plugins/sbt) - Publish Scala projects with [sbt](https://www.scala-sbt.org)
- [vscode](./plugins/vscode) - Publish code to the VSCode extension marketplace**Extra Functionality:**
- [all-contributors](./plugins/all-contributors) - Automatically add contributors as changelogs are produced using [all-contributors-cli](https://www.npmjs.com/package/all-contributors-cli)
- [conventional-commits](./plugins/conventional-commits) - Parse conventional commit messages for version bumps
- [exec](./plugins/exec) - Tap into hooks and run scripts on the terminal
- [first-time-contributor](./plugins/first-time-contributor) - Thank first time contributors for their work right in your release notes.
- [gh-pages](./plugins/gh-pages) - Automate publishing to your gh-pages documentation website
- [jira](./plugins/jira) - Include Jira story links in the changelog
- [magic-zero](./plugins/magic-zero) - A plugin that closely adheres to semver versioning for 0.0.x and 0.x.y releases
- [microsoft-teams](./plugins/microsoft-teams) - Post your release notes to a Microsoft teams channel
- [omit-commits](./plugins/omit-commits) - Ignore commits base on name, email, subject, labels, and username
- [omit-release-notes](./plugins/omit-release-notes) - Ignore release notes in PRs made by certain accounts
- [pr-body-labels](./plugins/pr-body-labels) - Allow outside contributors to indicate what semver label should be applied to the Pull Request
- [released](./plugins/released) - Add a `released` label to published PRs, comment with the version it's included in and comment on the issues the PR closes
- [s3](./plugins/s3) - Post your built artifacts to amazon s3
- [slack](./plugins/slack) - Post release notes to slack
- [twitter](./plugins/twitter) - Post release notes to twitter
- [upload-assets](./plugins/upload-assets) - Add extra assets to the release
- [protected-branch](./plugins/protected-branch) - Handle Github branch protections and avoid run auto with an admin token## :hammer: Start Developing :hammer:
To get set up, fork and clone the project then run the following command:
```bash
yarn
```### Build/Typecheck
You must build at least once before running the tests or lint.
```bash
yarn build
```In watch mode:
```bash
yarn start
```### Installing the binary
Install the bundled binary onto your system. This requires the project to be built or in watch mode.
```bash
yarn install-mac
```If running this for the first time you may also have to run the following command.
```bash
chmod +x /usr/local/bin/auto
```### Cleaning
```bash
yarn clean
```### Linting
```bash
yarn lint
```### Testing
```bash
yarn test
```### Run the docs
```bash
yarn docs
```### Create a new plugin
Get started developing a new plugin in the monorepo in seconds.
The two arguments are:
1. A spaced name
2. A description```bash
yarn create:plugin my-plugin "Do something really cool"
```### Create a new package
Get started developing a new package in the monorepo in seconds.
The two arguments are:
1. A spaced name
2. A description```bash
yarn create:package my-package "Do something really cool"
```## :beers: Contributing :beers:
Feel free to make an [issue](https://github.com/intuit/auto/issues) or open a [pull request](https://github.com/intuit/auto/pulls)!
Make sure to read our [code of conduct](./CODE_OF_CONDUCT.md).
## :rocket: Projects Using `auto` :rocket:
:star: [Storybookjs design-system](https://github.com/storybookjs/design-system) - Storybook's official design system
:star: [space-kit](https://github.com/apollographql/space-kit) - Home base for Apollo's design system
:star: [react-glider](https://github.com/hipstersmoothie/react-glider) - A react wrapper for glider.js
:star: [reaction](https://github.com/artsy/reaction) - Artsyβs React Components
:star: [emission](https://github.com/artsy/emission) - Artsyβs React Native Components
:star: [webpack-inject-plugin](https://github.com/adierkens/webpack-inject-plugin) - A webpack plugin to dynamically inject code into the bundle.
:star: [html-webpack-insert-text-plugin](https://github.com/hipstersmoothie/html-webpack-insert-text-plugin) - Insert text into the head or body of your HTML
:star: [react-easy-crop](https://github.com/ValentinH/react-easy-crop) - A React component to crop images/videos with easy interactions
## :nail_care: `auto` Badge :nail_care:
Does your project use `auto`? Then use our custom badge!
[![Auto Release](https://img.shields.io/badge/release-auto.svg?colorA=888888&colorB=9B065A&label=auto)](https://github.com/intuit/auto)
[![Auto Release](https://img.shields.io/badge/release-auto.svg?colorA=888888&colorB=9B065A&label=auto&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAACzElEQVR4AYXBW2iVBQAA4O+/nLlLO9NM7JSXasko2ASZMaKyhRKEDH2ohxHVWy6EiIiiLOgiZG9CtdgG0VNQoJEXRogVgZYylI1skiKVITPTTtnv3M7+v8UvnG3M+r7APLIRxStn69qzqeBBrMYyBDiL4SD0VeFmRwtrkrI5IjP0F7rjzrSjvbTqwubiLZffySrhRrSghBJa8EBYY0NyLJt8bDBOtzbEY72TldQ1kRm6otana8JK3/kzN/3V/NBPU6HsNnNlZAz/ukOalb0RBJKeQnykd7LiX5Fp/YXuQlfUuhXbg8Di5GL9jbXFq/tLa86PpxPhAPrwCYaiorS8L/uuPJh1hZFbcR8mewrx0d7JShr3F7pNW4vX0GRakKWVk7taDq7uPvFWw8YkMcPVb+vfvfRZ1i7zqFwjtmFouL72y6C/0L0Ie3GvaQXRyYVB3YZNE32/+A/D9bVLcRB3yw3hkRCdaDUtFl6Ykr20aaLvKoqIXUdbMj6GFzAmdxfWx9iIRrkDr1f27cFONGMUo/gRI/jNbIMYxJOoR1cY0OGaVPb5z9mlKbyJP/EsdmIXvsFmM7Ql42nEblX3xI1BbYbTkXCqRnxUbgzPo4T7sQBNeBG7zbAiDI8nWfZDhQWYCG4PFr+HMBQ6l5VPJybeRyJXwsdYJ/cRnlJV0yB4ZlUYtFQIkMZnst8fRrPcKezHCblz2IInMIkPzbbyb9mW42nWInc2xmE0y61AJ06oGsXL5rcOK1UdCbEXiVwNXsEy/6+EbaiVG8eeEAfxvaoSBnCH61uOD7BS1Ul8ESHBKWxCrdyd6EYNKihgEVrwOAbQruoytuBYIFfAc3gVN6iawhjKyNCEpYhVJXgbOzARyaU4hCtYizq5EI1YgiUoIlT1B7ZjByqmRWYbwtdYjoWoN7+LOIQefIqKawLzK6ID69GGpQgwhhEcwGGUzfEPAiPqsCXadFsAAAAASUVORK5CYII=)](https://github.com/intuit/auto)
[![Auto Release](https://img.shields.io/badge/release-auto.svg?colorA=888888&colorB=9B065A&label=auto&style=for-the-badge)](https://github.com/intuit/auto)
[![Auto Release](https://img.shields.io/badge/release-auto.svg?colorA=888888&colorB=9B065A&label=auto&style=for-the-badge&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAACzElEQVR4AYXBW2iVBQAA4O+/nLlLO9NM7JSXasko2ASZMaKyhRKEDH2ohxHVWy6EiIiiLOgiZG9CtdgG0VNQoJEXRogVgZYylI1skiKVITPTTtnv3M7+v8UvnG3M+r7APLIRxStn69qzqeBBrMYyBDiL4SD0VeFmRwtrkrI5IjP0F7rjzrSjvbTqwubiLZffySrhRrSghBJa8EBYY0NyLJt8bDBOtzbEY72TldQ1kRm6otana8JK3/kzN/3V/NBPU6HsNnNlZAz/ukOalb0RBJKeQnykd7LiX5Fp/YXuQlfUuhXbg8Di5GL9jbXFq/tLa86PpxPhAPrwCYaiorS8L/uuPJh1hZFbcR8mewrx0d7JShr3F7pNW4vX0GRakKWVk7taDq7uPvFWw8YkMcPVb+vfvfRZ1i7zqFwjtmFouL72y6C/0L0Ie3GvaQXRyYVB3YZNE32/+A/D9bVLcRB3yw3hkRCdaDUtFl6Ykr20aaLvKoqIXUdbMj6GFzAmdxfWx9iIRrkDr1f27cFONGMUo/gRI/jNbIMYxJOoR1cY0OGaVPb5z9mlKbyJP/EsdmIXvsFmM7Ql42nEblX3xI1BbYbTkXCqRnxUbgzPo4T7sQBNeBG7zbAiDI8nWfZDhQWYCG4PFr+HMBQ6l5VPJybeRyJXwsdYJ/cRnlJV0yB4ZlUYtFQIkMZnst8fRrPcKezHCblz2IInMIkPzbbyb9mW42nWInc2xmE0y61AJ06oGsXL5rcOK1UdCbEXiVwNXsEy/6+EbaiVG8eeEAfxvaoSBnCH61uOD7BS1Ul8ESHBKWxCrdyd6EYNKihgEVrwOAbQruoytuBYIFfAc3gVN6iawhjKyNCEpYhVJXgbOzARyaU4hCtYizq5EI1YgiUoIlT1B7ZjByqmRWYbwtdYjoWoN7+LOIQefIqKawLzK6ID69GGpQgwhhEcwGGUzfEPAiPqsCXadFsAAAAASUVORK5CYII=)](https://github.com/intuit/auto)
## :art: Prior Art :art:
`auto` is inspired by some excellent tech that came before it.
- [github-semantic-version](https://github.com/ericclemmons/github-semantic-version) - Automated semantic version releases powered by Github Issues.
- [lerna-changelog](https://github.com/lerna/lerna-changelog) - π PR-based changelog generator with monorepo support## Contributors
Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):
Adam Dierkens
π» π π€ β οΈ
Andrew Lisowski
π» π π€ π β οΈ π
David
π β οΈ π» π
Orta
π» π
Justin Bennett
π π» π β οΈ
Alec Larson
π»
Tyler Krupicka
π»
Zachary Sherwin
π» π β οΈ
bnigh
π» π β οΈ
su7edja
π»
Yogesh Khandelwal
π» β οΈ
Matt Boulanger
π»
Karen Lo
π
James Nail
β οΈ π»
rdipika94
π
Brian Muenzenmeyer
π π»
Sarah van der Laan
π
Hannes GΓΌdelhΓΆfer
π»
Eric Clemmons
π» π β οΈ
Jeremiah Zucker
π β οΈ π»
Brandon Miller
π» π β οΈ
Harris Borawski
π β οΈ π»
Shelby Cohen
π β οΈ π»
Kyle Brown
β οΈ π»
Till Weisser
π β οΈ π»
G. Richard Bellamy
π π» β οΈ
Kevin Wolf
π β οΈ π»
Marty Henderson
π β οΈ π»
Spencer Hamm
π»
Lucas Shadler
π» β οΈ
David Stone
π β οΈ π»
Lucas Curti
π»
rachana
π β οΈ π»
Richard Simpson
π β οΈ π»
Arturo Silva
π
Christy Jacob
π
Check your git settings!
π
Kendall Gassner
π β οΈ π»
Drew Cortright
π β οΈ π»
Philippe Boyd
π
Mukul Chaware
π β οΈ π»
Tim Ottewell
π β οΈ π»
Andrew Leedham
π β οΈ π»
Seth Thomas
β οΈ π»
Evan Lovely
π
Dorian MariΓ©
π
myndelx
π»
sentony93
π β οΈ π»
Kelly Harrop
π π»
Rogerio Angeliski
π β οΈ π»
Piotr Monwid-Olechnowicz
π» π
John T. Wodder II
π
Alexey Alekhin
π π» β οΈ π
Vincent Briglia
π β οΈ π»
Cameron Yick
β οΈ π» π π
Kelvin Nguyen
π»
Lucas Shadler
π β οΈ π»
Mathieu Bergeron
π β οΈ π»
Andreas Weichselbaum
π β οΈ π»
Torkjel Hongve
π β οΈ π»
Dalton Scharff
π β οΈ π»
Corentin Ardeois
π»
Julien Bouyoud
π β οΈ π»
Valentin Hervieu
π β οΈ π»
Ikko Ashimine
π β οΈ π»
Josh Biddick
π π»
Anton Karpov
β οΈ π»
Eric Hayes
π β οΈ π»
Dominik Moritz
π» β οΈ
Jason T Brown
π π β οΈ π»
Bruno Nardini
π π β οΈ π»
Andrey Bozhko
π»
Adil Malik
π π β οΈ π»
David Sheldrick
β οΈ π» π
Eskild Diderichsen
π β οΈ π»
ld-codes
π π»
Chris
π
Satish Pokala
π
NiccolΓ² Olivieri Achille
β οΈ π»
Jack Westbrook
π β οΈ π»
Atte Huhtakangas
π β οΈ π»
Patrick Ruhkopf
β οΈ π»
Mark Potnick
β οΈ π»
MichaelRyanWebber
π»
Martin Elias
π»
Ketan Reddy
β οΈ π»
This project follows the [all-contributors](https://github.com/kentcdodds/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.
## License
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fintuit%2Fauto.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fintuit%2Fauto?ref=badge_large)