Merge pull request #110 from alexflint/github-actions
Set up CI using github actions
This commit is contained in:
commit
854aa644a6
|
@ -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
|
13
.travis.yml
13
.travis.yml
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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)
|
|
@ -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"
|
|
@ -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
|
|
@ -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"
|
|
@ -1,3 +0,0 @@
|
|||
module some-program
|
||||
|
||||
require github.com/alexflint/go-arg v1.0.0
|
|
@ -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=
|
|
@ -1,11 +0,0 @@
|
|||
package main
|
||||
|
||||
import "github.com/alexflint/go-arg"
|
||||
|
||||
func main() {
|
||||
var args struct {
|
||||
Test string
|
||||
}
|
||||
arg.MustParse(&args)
|
||||
_ = args.Test
|
||||
}
|
|
@ -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())
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue