goci

command module
v0.0.0-...-518a77e Latest Latest
Warning

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

Go to latest
Published: Dec 26, 2018 License: Apache-2.0 Imports: 7 Imported by: 0

README

Go Report Card GoCI Build Status Apache 2 licensed

goci is a CI linter for Go(lang) source code.

It supports:

  • build project build
  • gofmt gofmt checking
  • govet code quality checking
  • golint code style checking
  • test go test or unit test
  • race race condition test

Requirements

  • Go1.10.x
  • Go1.11 (go module support)

Installation

$go get -u github.com/barryz/goci

Run

$goci -c goci.yml
or
$goci # use default configurations

Configuration

Create a file which named goci.yml. This file should include fields as below:

fields type comment
build string Command or script that used for build project. Scripts should use the relative path. eg: ./
test string Command for testing
excludes array The directories which in excludes will not be gofmt, golint or gover
race struct Execute race condition testing
lint struct Configurations for golint
skips array Steps which to skipped
race struct fields
fields type comment
main string entry-point file for project, eg:main.go
main_cmd string command for execution
script string test script eg: sh race_test.sh
timeout int timeout for race condition execution
lint struct fields
fields type comment
ignore_no_comment_error bool false(default)

Example:

build: go build
test: go test
excludes:
    - templates # except templates
    - vendor # except vendor
race:
    # go run -race main.go
    main: ./main.go
    # kill the above after 20 seconds
    timeout: 20
    # run this script to interact with the above running process (as a test)
    script: ./ab.sh
    # after 20 seconds, if no race detected, the goci/race passs
skips:
    - fmt

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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