From cfdee944f96cbe4443377ce0c422055bdc459ae0 Mon Sep 17 00:00:00 2001 From: Alex Flint Date: Fri, 3 Apr 2020 11:45:13 -0400 Subject: [PATCH 1/9] Set up CI using github actions --- .github/workflows/go.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/go.yml diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml new file mode 100644 index 0000000..8d3c1b8 --- /dev/null +++ b/.github/workflows/go.yml @@ -0,0 +1,29 @@ +name: Go + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + + build: + name: Build + runs-on: ubuntu-latest + steps: + + - name: Set up Go 1.13 + uses: actions/setup-go@v1 + with: + go-version: 1.13 + id: 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 . From 063a48797d56923e2aff4ff12ab84aad204d0ca3 Mon Sep 17 00:00:00 2001 From: Alex Flint Date: Fri, 3 Apr 2020 11:52:00 -0400 Subject: [PATCH 2/9] clean up extraneous test output --- usage_test.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) 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()) } From b43f8e2e655479b3f0aa756586f0ef76fff0187c Mon Sep 17 00:00:00 2001 From: Alex Flint Date: Fri, 3 Apr 2020 11:58:27 -0400 Subject: [PATCH 3/9] drop travis and old test dir (module system support is now stable) --- .travis.yml | 13 ------------- test/README.md | 1 - test/compile_with_go110.sh | 14 -------------- test/compile_with_go111.sh | 13 ------------- test/compile_with_go111_inside_gopath.sh | 13 ------------- test/some-program/go.mod | 3 --- test/some-program/go.sum | 10 ---------- test/some-program/main.go | 11 ----------- 8 files changed, 78 deletions(-) delete mode 100644 .travis.yml delete mode 100644 test/README.md delete mode 100644 test/compile_with_go110.sh delete mode 100644 test/compile_with_go111.sh delete mode 100644 test/compile_with_go111_inside_gopath.sh delete mode 100644 test/some-program/go.mod delete mode 100644 test/some-program/go.sum delete mode 100644 test/some-program/main.go 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/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 -} From 7ac7956369352c143f35350623f5646e2741c1d3 Mon Sep 17 00:00:00 2001 From: Alex Flint Date: Fri, 3 Apr 2020 11:59:47 -0400 Subject: [PATCH 4/9] drop coverage badge (adding an issue to put it back) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a9eeee8..9444741 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ [![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) [![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) [![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 From ce896f3df96474b03398c9b360bc44011646bb21 Mon Sep 17 00:00:00 2001 From: Alex Flint Date: Fri, 3 Apr 2020 12:09:49 -0400 Subject: [PATCH 5/9] add coverage using goveralls --- .github/workflows/go.yml | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 8d3c1b8..927b2d5 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -8,16 +8,21 @@ on: jobs: - build: - name: Build + build_and_test: + name: Build and test runs-on: ubuntu-latest - steps: - - name: Set up Go 1.13 + 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: 1.13 - id: go + go-version: 1.13 # ${{ matrix.go }} - name: Check out code into the Go module directory uses: actions/checkout@v2 @@ -26,4 +31,19 @@ jobs: run: go build -v . - name: Test - run: go test -v . + 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: + needs: test + runs-on: ubuntu-latest + steps: + - uses: shogo82148/actions-goveralls@v1 + with: + parallel-finished: true \ No newline at end of file From af757bea986f79085de7dc3c49651f5bbcf70f63 Mon Sep 17 00:00:00 2001 From: Alex Flint Date: Fri, 3 Apr 2020 12:13:23 -0400 Subject: [PATCH 6/9] fix name of dependency --- .github/workflows/go.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 927b2d5..07f5e18 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -41,9 +41,9 @@ jobs: # notifies coveralls that all test jobs are finished finish: - needs: test + needs: build_and_test runs-on: ubuntu-latest steps: - - uses: shogo82148/actions-goveralls@v1 - with: - parallel-finished: true \ No newline at end of file + - uses: shogo82148/actions-goveralls@v1 + with: + parallel-finished: true From 65ef631f5fce176d49ebee2dd68dc9cf3e693380 Mon Sep 17 00:00:00 2001 From: Alex Flint Date: Fri, 3 Apr 2020 12:19:40 -0400 Subject: [PATCH 7/9] use ${{ matrix.go }} --- .github/workflows/go.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 07f5e18..4be256c 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -22,7 +22,7 @@ jobs: name: Set up Go uses: actions/setup-go@v1 with: - go-version: 1.13 # ${{ matrix.go }} + go-version: ${{ matrix.go }} - name: Check out code into the Go module directory uses: actions/checkout@v2 @@ -41,6 +41,7 @@ jobs: # notifies coveralls that all test jobs are finished finish: + name: Finish needs: build_and_test runs-on: ubuntu-latest steps: From 9fccfd3d6a37d76412be823599f3fa250215236b Mon Sep 17 00:00:00 2001 From: Alex Flint Date: Fri, 3 Apr 2020 12:24:39 -0400 Subject: [PATCH 8/9] replace travis badge with github actions badge --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9444741..f9da4e4 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ [![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) [![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 From 1fc1a6f6dfb7a332ea90974acd09dadcdf2c2b11 Mon Sep 17 00:00:00 2001 From: Alex Flint Date: Fri, 3 Apr 2020 12:28:05 -0400 Subject: [PATCH 9/9] put coverage badge back --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f9da4e4..cefeadc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ [![GoDoc](https://godoc.org/github.com/alexflint/go-arg?status.svg)](https://godoc.org/github.com/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](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)