Giter Site home page Giter Site logo

autoclave's Introduction

Autoclave

Automated release tool for Polymer repositories

Usage

Autoclave can be given a series of Github repos in $ORG/$REPO form, or use eyespy to automatically query for repos that need to be released.

Example:

  • Build one repo
./autoclave.sh Polymer/polymer
  • Build all repos
./autoclave.sh
  • This mode requires an eyespy config

Options

All options to autoclave use environment variables

Variables:

  • TMP
    • Temprorary folder for repositories to be held in
    • Default: output of mktemp -d -t 'autoclave'
  • KEEP
    • Keep the contents of the temporary folder between runs
    • Default: NO, repos will be cleared after each successful release
  • VERSION
    • Force all repositories to use given version
    • Default: NONE, repos will rev independently
  • EYESPY_CONFIG
    • Path to a config for eyespy
    • Default: ./config.json
  • EYESPY_TOKEN
    • Path to a githb token file for eyespy
    • Default: ./token
  • DRYRUN
    • If set to true, do not push commits, just tag them
    • Default: FALSE, push release commits and tags

One Repository:

TMP=tmp KEEP=1 VERSION="1.0.0" DRYRUN=1 ./autoclave.sh Polymer/polymer

All repositories:

TMP=tmp KEEP=1 VERSION="1.0.0" DRYRUN=1 EYESPY_CONFIG="~/autoclave_config.json" EYESPY_TOKEN="~/.secret-github-token" ./autoclave.sh

Custom Releases

If a repository needs custom handling for releases a shell script named .autoclave-build.sh can be added to the top level of the repository, and it will be executed before the repository is tagged and pushed.

This script must have a clean tree with a staged commit at the end of running.

Example:

#!/usr/bin/env bash
RELEASE=(foobuild.min.js)
npm install
gulp build-for-release
git add -f --ignore-errors ${RELEASE[@]}

Polymer's autoclave build script

Release Policy

Autoclave uses mversion to update package.json and bower.json files to the same version number.

By default, all releases will bump the semver PATCH version.

If any commit messages since the last release include [MINOR BREAKING] or [FEATURE], a semver MINOR release will be made.

If any commit messages since the last release include [BREAKING], a semver MAJOR release will be made.

If the VERSION environment variable is set, that version will be used regardless of git history.

autoclave's People

Contributors

dfreedm avatar

Stargazers

Michael Anthony avatar

Watchers

Michael Bleigh avatar Alex Komoroske avatar  avatar Ian MacLeod avatar Steve Orvell avatar Addy Osmani avatar Frankie Fu avatar Eric Bidelman avatar  avatar yuin avatar Domenic Denicola avatar Rafael Weinstein avatar James Cloos avatar  avatar Kevin Schaaf avatar Emmanuel Garcia avatar Meggin Kearney avatar Michael Anthony avatar  avatar Wendy Ginsberg avatar  avatar Gavin Doughtie avatar Yufeng avatar Tim van der Lippe avatar  avatar  avatar  avatar

autoclave's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.