Skip to content

List of utilities for the daily developer workflow

License

Notifications You must be signed in to change notification settings

cioboteacristian/ergo

 
 

Repository files navigation

ergo Build Status codecov

Ergo (έργο), greek name for work, is a list of utilities for the daily release workflow.

Installation

$ curl -L https://github.com/beatlabs/ergo/releases/download/0.4.1/ergo_0.4.1_darwin-amd64 --output ergo && chmod +x ergo && mv ergo /usr/local/bin/ergo

Usage

Usage:
  ergo [flags]
  ergo [command]

Available Commands:
  deploy      Deploy base branch to target branches
  draft       Create a draft release [github]
  help        Help about any command
  status      the status of branches compared to base branch
  tag         Create a tag on branch
  version     the version of ergo

Flags:
      --base string       Base branch for the comparison.
      --branches string   Comma separated list of branches
  -h, --help              help for ergo
      --owner string
      --path string       Location to store or retrieve from the repo (default ".")
      --repo string

CLI commands

Status

Getting the status of remote repo branches compared to a base branch.

ergo status \
--owner dbaltas \
--repo ergo \
--base master \
--branches stable,testsuite/baseNew,testsuite/base,testsuite/featureA,testsuite/featureB,testsuite/featureC

ergo sample output

Draft

Create a draft release having description of the commit diff. It will try to increment the last found tag version.

ergo draft \
--owner dbaltas \
--repo ergo \
--base master \
--branches release-gr,release-it

Deploy

Push the release tag into the release branches (and update the release body accordingly). You need to have published the draft release first.

ergo deploy \
--owner dbaltas \
--repo ergo \
--releaseInterval 15m \
--branches release-pe,release-mx,release-co,release-cl,release-gr

Github Access

To communicate with github you will need a personal access token added on the configuration file as access-token on github

Configuration

Configuration is read from $HOME/.ergo.yaml

You have to use this in order to:

  • Add your github access token
  • Provide ergo with defaults. In the CLI commands you may skip some of the parameters in case that there are defaults values set.
  • Information about the draft release body and what will change at the time of the release.

Sample config file

About

List of utilities for the daily developer workflow

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%