Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

Awesome Lists containing this project

README

        


Auto Logo




Generate releases based on semantic version labels on pull requests


---


CircleCI Codecov npm All Contributors npm Auto Release
code style: prettier


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 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](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)