Merge pull request #110 from alexflint/github-actions

Set up CI using github actions
This commit is contained in:
Alex Flint 2020-04-03 12:31:52 -04:00 committed by GitHub
commit 854aa644a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 58 additions and 86 deletions

50
.github/workflows/go.yml vendored Normal file
View File

@ -0,0 +1,50 @@
name: Go
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build_and_test:
name: Build and test
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
go: ['1.11', '1.12', '1.13', '1.14']
steps:
- id: go
name: Set up Go
uses: actions/setup-go@v1
with:
go-version: ${{ matrix.go }}
- name: Check out code into the Go module directory
uses: actions/checkout@v2
- name: Build
run: go build -v .
- name: Test
run: go test -v -coverprofile=profile.cov .
- name: Send coverage
uses: shogo82148/actions-goveralls@v1
with:
path-to-profile: profile.cov
parallel: true
# notifies coveralls that all test jobs are finished
finish:
name: Finish
needs: build_and_test
runs-on: ubuntu-latest
steps:
- uses: shogo82148/actions-goveralls@v1
with:
parallel-finished: true

View File

@ -1,13 +0,0 @@
language: go
go:
- "1.12"
- "1.13"
before_install:
- go get github.com/axw/gocov/gocov
- go get github.com/mattn/goveralls
- if ! go get github.com/golang/tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi
script:
- $HOME/gopath/bin/goveralls -service=travis-ci
- bash test/compile_with_go110.sh
- bash test/compile_with_go111.sh
- bash test/compile_with_go111_inside_gopath.sh

View File

@ -1,9 +1,10 @@
[![GoDoc](https://godoc.org/github.com/alexflint/go-arg?status.svg)](https://godoc.org/github.com/alexflint/go-arg)
[![Build Status](https://travis-ci.org/alexflint/go-arg.svg?branch=master)](https://travis-ci.org/alexflint/go-arg)
[![Build Status](https://github.com/alexflint/go-arg/workflows/Go/badge.svg)](https://github.com/alexflint/go-arg/actions)
[![GolangCI](https://golangci.com/badges/github.com/alexflint/go-arg.svg)](https://golangci.com/r/github.com/alexflint/go-arg)
[![Coverage Status](https://coveralls.io/repos/alexflint/go-arg/badge.svg?branch=master&service=github)](https://coveralls.io/github/alexflint/go-arg?branch=master)
-[![Coverage](https://coveralls.io/repos/alexflint/go-arg/badge.svg?branch=master&service=github)](https://coveralls.io/github/alexflint/go-arg?branch=master)
[![Report Card](https://goreportcard.com/badge/github.com/alexflint/go-arg)](https://goreportcard.com/badge/github.com/alexflint/go-arg)
## Structured argument parsing for Go
```shell

View File

@ -1 +0,0 @@
This directory contains integration tests that check that go-arg can be installed and compiled under both tgo 1.10 and go 1.11 (corresponding to the transition to the new go module system)

View File

@ -1,14 +0,0 @@
#!/bin/bash
# This test checks that we can correctly "go get" and then use the go-arg package
# under go 1.10, which was the last release before introduction of the new go
# module system.
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
docker run \
--rm \
-v $DIR/some-program:/src \
-w /src \
golang:1.10 \
bash -c "go get github.com/alexflint/go-arg && go build -o /dev/null"

View File

@ -1,13 +0,0 @@
#!/bin/bash
# This test checks that we can compile some code that depends on go-arg when using go 1.11
# with the new go module system active.
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
docker run \
--rm \
-v $DIR/some-program:/src \
-w /src \
golang:1.11 \
go build -o /dev/null

View File

@ -1,13 +0,0 @@
#!/bin/bash
# This test checks that we can correctly "go get" and then use the go-arg package using
# go 1.11 when the code is within the GOPATH (in which case modules are disabled by default).
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
docker run \
--rm \
-v $DIR/some-program:/go/src/some-program \
-w /go/src/some-program \
golang:1.11 \
bash -c "go get github.com/alexflint/go-arg && go build -o /dev/null"

View File

@ -1,3 +0,0 @@
module some-program
require github.com/alexflint/go-arg v1.0.0

View File

@ -1,10 +0,0 @@
github.com/alexflint/go-arg v1.0.0 h1:VWNnY3DyBHiq5lcwY2FlCE5t5qyHNV0o5i1bkCIHprU=
github.com/alexflint/go-arg v1.0.0/go.mod h1:Cto8k5VtkP4pp0EXiWD4ZJMFOOinZ38ggVcQ/6CGuRI=
github.com/alexflint/go-scalar v1.0.0 h1:NGupf1XV/Xb04wXskDFzS0KWOLH632W/EO4fAFi+A70=
github.com/alexflint/go-scalar v1.0.0/go.mod h1:GpHzbCOZXEKMEcygYQ5n/aa4Aq84zbxjy3MxYW0gjYw=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=

View File

@ -1,11 +0,0 @@
package main
import "github.com/alexflint/go-arg"
func main() {
var args struct {
Test string
}
arg.MustParse(&args)
_ = args.Test
}

View File

@ -215,9 +215,9 @@ Options:
var help bytes.Buffer
p.WriteHelp(&help)
actual := help.String()
if expectedHelp != actual {
t.Logf("Expected:\n%s", expectedHelp)
t.Logf("Actual:\n%s", actual)
if expectedHelp != actual {
t.Fail()
}
}
@ -243,9 +243,9 @@ Options:
var help bytes.Buffer
p.WriteHelp(&help)
actual := help.String()
if expectedHelp != actual {
t.Logf("Expected:\n%s", expectedHelp)
t.Logf("Actual:\n%s", actual)
if expectedHelp != actual {
t.Fail()
}
}
@ -271,7 +271,7 @@ Options:
assert.Equal(t, expectedHelp, help.String())
}
func TestUsagWithNestedSubcommands(t *testing.T) {
func TestUsageWithNestedSubcommands(t *testing.T) {
expectedHelp := `Usage: example child nested [--enable] OUTPUT
Positional arguments:
@ -305,6 +305,5 @@ Global options:
var help bytes.Buffer
p.WriteHelp(&help)
fmt.Println(help.String())
assert.Equal(t, expectedHelp, help.String())
}