diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml new file mode 100644 index 0000000..4be256c --- /dev/null +++ b/.github/workflows/go.yml @@ -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 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 87ef507..0000000 --- a/.travis.yml +++ /dev/null @@ -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 diff --git a/README.md b/README.md index a9eeee8..cefeadc 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/test/README.md b/test/README.md deleted file mode 100644 index b820cc9..0000000 --- a/test/README.md +++ /dev/null @@ -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) diff --git a/test/compile_with_go110.sh b/test/compile_with_go110.sh deleted file mode 100644 index bfa2c71..0000000 --- a/test/compile_with_go110.sh +++ /dev/null @@ -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" diff --git a/test/compile_with_go111.sh b/test/compile_with_go111.sh deleted file mode 100644 index fd20339..0000000 --- a/test/compile_with_go111.sh +++ /dev/null @@ -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 diff --git a/test/compile_with_go111_inside_gopath.sh b/test/compile_with_go111_inside_gopath.sh deleted file mode 100644 index 8755c0f..0000000 --- a/test/compile_with_go111_inside_gopath.sh +++ /dev/null @@ -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" diff --git a/test/some-program/go.mod b/test/some-program/go.mod deleted file mode 100644 index c02bb1b..0000000 --- a/test/some-program/go.mod +++ /dev/null @@ -1,3 +0,0 @@ -module some-program - -require github.com/alexflint/go-arg v1.0.0 diff --git a/test/some-program/go.sum b/test/some-program/go.sum deleted file mode 100644 index 602ee78..0000000 --- a/test/some-program/go.sum +++ /dev/null @@ -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= diff --git a/test/some-program/main.go b/test/some-program/main.go deleted file mode 100644 index 34c6077..0000000 --- a/test/some-program/main.go +++ /dev/null @@ -1,11 +0,0 @@ -package main - -import "github.com/alexflint/go-arg" - -func main() { - var args struct { - Test string - } - arg.MustParse(&args) - _ = args.Test -} diff --git a/usage_test.go b/usage_test.go index 905de92..35745f7 100644 --- a/usage_test.go +++ b/usage_test.go @@ -215,9 +215,9 @@ Options: var help bytes.Buffer p.WriteHelp(&help) actual := help.String() - t.Logf("Expected:\n%s", expectedHelp) - t.Logf("Actual:\n%s", actual) if expectedHelp != actual { + t.Logf("Expected:\n%s", expectedHelp) + t.Logf("Actual:\n%s", actual) t.Fail() } } @@ -243,9 +243,9 @@ Options: var help bytes.Buffer p.WriteHelp(&help) actual := help.String() - t.Logf("Expected:\n%s", expectedHelp) - t.Logf("Actual:\n%s", actual) if expectedHelp != actual { + t.Logf("Expected:\n%s", expectedHelp) + t.Logf("Actual:\n%s", 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()) }