All Projects → barryz → Goci

barryz / Goci

Licence: apache-2.0
goci is a command-line tool for checking the code quality of Go locally.

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to Goci

Toast
Containerize your development and continuous integration environments. 🥂
Stars: ✭ 748 (+6700%)
Mutual labels:  ci
Ultima
An open source, Infrastructure-as-Code cloud platform with built-in CI and local development environment.
Stars: ✭ 18 (+63.64%)
Mutual labels:  ci
Golang Ci Template Github Actions
example for golang project using github actions
Stars: ✭ 24 (+118.18%)
Mutual labels:  ci
Androidsdk
🐳 Full-fledged Android SDK Docker Image
Stars: ✭ 776 (+6954.55%)
Mutual labels:  ci
Azure Pipelines Template
template for your azure pipelines
Stars: ✭ 17 (+54.55%)
Mutual labels:  ci
Flutter engine build
Flutter Engine构建产物归档
Stars: ✭ 19 (+72.73%)
Mutual labels:  ci
Gocd
Main repository for GoCD - Continuous Delivery server
Stars: ✭ 6,314 (+57300%)
Mutual labels:  ci
Release Notary
App to just generate release notes.
Stars: ✭ 26 (+136.36%)
Mutual labels:  ci
Haiku
🚀 Instant Heroku deploys from GitHub branches
Stars: ✭ 17 (+54.55%)
Mutual labels:  ci
Apprepositorytemplate
The easiest way to start a new application project without any manual configuration
Stars: ✭ 24 (+118.18%)
Mutual labels:  ci
Super Linter
Combination of multiple linters to install as a GitHub Action
Stars: ✭ 7,445 (+67581.82%)
Mutual labels:  ci
Salty Whales
Extra ordinary Docker images for Salt. Whales love Salt.
Stars: ✭ 5 (-54.55%)
Mutual labels:  ci
Orbital
Orbital is a self-hosted CI system for solo/small consulting dev teams. Written in Rust.
Stars: ✭ 22 (+100%)
Mutual labels:  ci
Webhook
webhook is a lightweight incoming webhook server to run shell commands
Stars: ✭ 7,201 (+65363.64%)
Mutual labels:  ci
Owasp Zap Glue Ci Images
Ready to use images of Zap and Glue, especially for CI integration.
Stars: ✭ 25 (+127.27%)
Mutual labels:  ci
Captain
Captain - Convert your Git workflow to Docker 🐳 containers
Stars: ✭ 739 (+6618.18%)
Mutual labels:  ci
Docker Jenkins
Jenkins with Blue Ocean and support for builiding jobs in Docker
Stars: ✭ 18 (+63.64%)
Mutual labels:  ci
Wufei
Async Kuberenetes Namespace Log Recorder / Streamer
Stars: ✭ 27 (+145.45%)
Mutual labels:  ci
Sonarondocker
🐳 📡 Docker way of running SonarQube + any DB
Stars: ✭ 25 (+127.27%)
Mutual labels:  ci
Gotesplit
Splits the testing in Go into a subset and run it. It is useful for the CI environment.
Stars: ✭ 23 (+109.09%)
Mutual labels:  ci

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].