git-phlow

command module
v0.1.0-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 3, 2017 License: MIT Imports: 1 Imported by: 0

README


maintainer: groenborg

git-phlow - the release train extension

Build go report
build status Go Report Card

git-phlow (pronounced "git flow"), is a CLI extension for git, which is designed to provide an extra set of commands to easily create, wrapup, and deliver tasks/issues created on github and waffle.

git-phlow is the extension build for the phlow, a praqmatic workflow, simplifying your software delivery.

Some of git-phlow' core features will include:

  • works with GitHub and waffle: git-phlow assigns labels to move around user stories on waffle boards, and managing your github issues.

  • branches based on issues: work-on will create a branch from a GitHub issues and move it to "wip"

  • issue tracking: having all your user stories as waffle cards or GitHub issues, git-phlow will mark them appropriately to their status.

  • build for pretest integration: deliver will push your branch to GitHub, ready for your pipeline to pull, integrate, test and merge back in.

Project status

This is the official repository for the git-phlow extension. As of now it is currently under heavy development. The foundation of the application still changes daily and test procedures are still a work on.

the-phlow and waffle

To get started using the-phlow, read praqmas article about how the-phlow and the pragmatic workflow works, and how to configure waffle for your projects.

##Getting started Know the phlow, know go

To understand the-phlow read praqmas great story about what is is and how it works. it will you understand what git-phlow is and what we are building read me, please!

If you haven't written go code before, I recommend to take the go tour; it will provide great insight in the go programming language. As a reference i recommend gobyexample

Project dependencies

The project uses other frameworks and libraries, it is recommend to read about them to get an understanding of what they do, provide and how to use them.

Cobra is both a library and a CLI, and is the library we use in our CLI. Cobra itself has a CLI, which sets up boiler plate cmd's in the cmd folder. use it by typing cobra add <name of cmd>

GoConvey is the testing framework we use for unit tests, it provides and BDD expressions in your tests, like the nodejs mocha test framework

###Get you shell configured for the-phlow

Get the alias's

Clone this repository or just copy the alias' in the .gitconfig file and add it to your own. This will give you the necessary git commands to use the-phlow

git clone git@github.com:Praqma/the-phlow.git

The needed alias's from the-phlow

git work-on
git wrapup
git deliver
git local-deliver

get ghi

You also need to have ghi installed on your machine, it is a CLI for managing github issues, and we use it in the-phlow alias's. Get it here

###Get the project set up on your machine

Go to get golang and get the latest version and install it on your machine. it should be available on brew aswell.

Next you need to setup your shell for go development, this is also documented on go' website. Export GOPATH and GOBIN, in your shell config, eg. zshrcif you are using zsh.

export GOPATH=$HOME/<chooseyourfolder>
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN

Next up is getting our project. Use go's own tool go get or clone the repository into your GOPATH under, src/github.com/praqma/

go get -v github.com/praqma/git-phlow   #downloads the project to you gopath

#go to the project folder /src/github.com/praqma/git-phlow and enter following commands

go get -d                               #resolve dependencies
go get -t                               #should resolve test dependencies

###Running tests Go has a great toolset for running rests. As a standard go runs the test from the current directory you are in, if you want to run tests from subdirectories or just all tests, run:

go test ./...

For specific directories, run:

go test /folder

###Building To build binaries go also comes with a pre installed tool, go build

To build and drop a binary in the root directory of your project, run:

go build #Build and adds a binary to the root of the project

To install the binary in the bin folder in your GOPATH, you can run a different command.

go install

if you have exported GOBIN you can run the binary directly from the terminal

git-phlow --help

###Tools IntelliJ has a plugin for go development - I personally use this (groenborg)

Atom has a ton of packages for go development as well very useful

gogland as of february jetbrains just announced an official go ide, it is still in pre release

Contribution

To contribute to the project, I refer to reading our contribution guide

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package options ...
Package options ...

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL