Skip to content

intuit/auto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6,395 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Auto Logo

Generate releases based on semantic version labels on pull requests


CircleCI Codecov npm All Contributors npm Auto Release Image Image 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 for more information.

📌 Plugins 📌

Auto has an extensive plugin system and wide variety of official plugins. Make a PR to add yours!

Package Managers:

  • brew - Automate the creation of Homebrew formulae
  • chrome - Publish code to Chrome Web Store
  • cocoapods - Version your CocoaPod, and push to your specs repository!
  • crates - Publish Rust crates
  • docker - Publish images with Docker
  • gem - Publish ruby gems
  • git-tag - Manage your projects version through just a git tag (default when used with binary)
  • gradle - Publish code with gradle
  • maven - Publish code with maven
  • npm - Publish code to npm (default when installed through npm)
  • sbt - Publish Scala projects with sbt
  • vscode - Publish code to the VSCode extension marketplace

Extra Functionality:

  • 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
  • magic-zero - A plugin that closely adheres to semver versioning for 0.0.x and 0.x.y releases
  • microsoft-teams - Post your release notes to a Microsoft teams channel
  • omit-commits - Ignore commits base on name, email, subject, labels, and username
  • omit-release-notes - Ignore release notes in PRs made by certain accounts
  • pr-body-labels - Allow outside contributors to indicate what semver label should be applied to the Pull Request
  • 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 - 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
  • protected-branch - Handle Github branch protections and avoid run auto with an admin token

🔨 Start Developing 🔨

To get set up, fork and clone the project then run the following command:

yarn

Build/Typecheck

You must build at least once before running the tests or lint.

yarn build

In watch mode:

yarn start

Installing the binary

Install the bundled binary onto your system. This requires the project to be built or in watch mode.

yarn install-mac

If running this for the first time you may also have to run the following command.

chmod +x /usr/local/bin/auto

Cleaning

yarn clean

Linting

yarn lint

Testing

yarn test

Run the docs

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
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
yarn create:package my-package "Do something really cool"

🍻 Contributing 🍻

Feel free to make an issue or open a pull request!

Make sure to read our code of conduct.

🚀 Projects Using auto 🚀

Storybookjs design-system - Storybook's official design system

space-kit - Home base for Apollo's design system

react-glider - A react wrapper for glider.js

reaction - Artsy’s React Components

emission - Artsy’s React Native Components

webpack-inject-plugin - A webpack plugin to dynamically inject code into the bundle.

html-webpack-insert-text-plugin - Insert text into the head or body of your HTML

react-easy-crop - A React component to crop images/videos with easy interactions

💅 auto Badge 💅

Does your project use auto? Then use our custom badge!

Auto Release

Auto Release

Auto Release

Auto Release

🎨 Prior Art 🎨

auto is inspired by some excellent tech that came before it.

Contributors

Thanks goes to these wonderful people (emoji key):

Image
Adam Dierkens

💻 📖 🤔 ⚠️
Image
Andrew Lisowski

💻 📖 🤔 🚇 ⚠️ 📝
Image
David

🚇 ⚠️ 💻 📖
Image
Orta

💻 📖
Image
Justin Bennett

🐛 💻 📖 ⚠️
Image
Alec Larson

💻
Image
Tyler Krupicka

💻
Image
Zachary Sherwin

💻 📖 ⚠️
Image
bnigh

💻 📖 ⚠️
Image
su7edja

💻
Image
Yogesh Khandelwal

💻 ⚠️
Image
Matt Boulanger

💻
Image
Karen Lo

📖
Image
James Nail

⚠️ 💻
Image
rdipika94

📖
Image
Brian Muenzenmeyer

📖 💻
Image
Sarah van der Laan

📖
Image
Hannes Güdelhöfer

💻
Image
Eric Clemmons

💻 📖 ⚠️
Image
Jeremiah Zucker

📖 ⚠️ 💻
Image
Brandon Miller

💻 📖 ⚠️
Image
Harris Borawski

📖 ⚠️ 💻
Image
Shelby Cohen

📖 ⚠️ 💻
Image
Kyle Brown

⚠️ 💻
Image
Till Weisser

📖 ⚠️ 💻
Image
G. Richard Bellamy

📖 💻 ⚠️
Image
Kevin Wolf

📖 ⚠️ 💻
Image
Marty Henderson

📖 ⚠️ 💻
Image
Spencer Hamm

💻
Image
Lucas Shadler

💻 ⚠️
Image
David Stone

📖 ⚠️ 💻
Image
Lucas Curti

💻
Image
rachana

📖 ⚠️ 💻
Image
Richard Simpson

📖 ⚠️ 💻
Image
Arturo Silva

📖
Image
Christy Jacob

📖
Image
Check your git settings!

📖
Image
Kendall Gassner

📖 ⚠️ 💻
Image
Drew Cortright

📖 ⚠️ 💻
Image
Philippe Boyd

📖
Image
Mukul Chaware

📖 ⚠️ 💻
Image
Tim Ottewell

📖 ⚠️ 💻
Image
Andrew Leedham

📖 ⚠️ 💻
Image
Seth Thomas

⚠️ 💻
Image
Evan Lovely

📖
Image
Dorian Marié

📖
Image
myndelx

💻
Image
sentony93

📖 ⚠️ 💻
Image
Kelly Harrop

📖 💻
Image
Rogerio Angeliski

📖 ⚠️ 💻
Image
Piotr Monwid-Olechnowicz

💻 📖
Image
John T. Wodder II

📖
Image
Alexey Alekhin

📖 💻 ⚠️ 🚇
Image
Vincent Briglia

📖 ⚠️ 💻
Image
Cameron Yick

⚠️ 💻 📖 🚇
Image
Kelvin Nguyen

💻
Image
Lucas Shadler

📖 ⚠️ 💻
Image
Mathieu Bergeron

📖 ⚠️ 💻
Image
Andreas Weichselbaum

📖 ⚠️ 💻
Image
Torkjel Hongve

📖 ⚠️ 💻
Image
Dalton Scharff

📖 ⚠️ 💻
Image
Corentin Ardeois

💻
Image
Julien Bouyoud

📖 ⚠️ 💻
Image
Valentin Hervieu

📖 ⚠️ 💻
Image
Ikko Ashimine

📖 ⚠️ 💻
Image
Josh Biddick

📖 💻
Image
Anton Karpov

⚠️ 💻
Image
Eric Hayes

📖 ⚠️ 💻
Image
Dominik Moritz

💻 ⚠️
Image
Jason T Brown

📖 🚇 ⚠️ 💻
Image
Bruno Nardini

📖 🚇 ⚠️ 💻
Image
Andrey Bozhko

💻
Image
Adil Malik

📖 🚇 ⚠️ 💻
Image
David Sheldrick

⚠️ 💻 📖
Image
Eskild Diderichsen

📖 ⚠️ 💻
Image
ld-codes

📖 💻
Image
Chris

📖
Image
Satish Pokala

📖
Image
Niccolò Olivieri Achille

⚠️ 💻
Image
Jack Westbrook

📖 ⚠️ 💻
Image
Atte Huhtakangas

📖 ⚠️ 💻
Image
Patrick Ruhkopf

⚠️ 💻
Image
Mark Potnick

⚠️ 💻
Image
MichaelRyanWebber

💻
Image
Martin Elias

💻
Image
Ketan Reddy

⚠️ 💻
Image
Simeon Cheeseman

⚠️ 💻
Image
github-actions[bot]

📖 💻
Image
Nayan Gupta

📖 ⚠️ 💻
Image
Kevin Ross

📖 ⚠️ 💻
Image
Andrew Lisowski

📖 ⚠️ 💻

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.

License

FOSSA Status