diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml new file mode 100644 index 0000000..260948c --- /dev/null +++ b/.github/workflows/Test.yml @@ -0,0 +1,83 @@ +name: Test + +on: + push: + pull_request: + +env: + GO111MODULE: on + +jobs: + + + test-unix: + strategy: + fail-fast: false + matrix: + platform: + - ubuntu + - macOS + go: + - 1.14.x + - 1.15.x + name: '${{ matrix.platform }} | ${{ matrix.go }}' + runs-on: ${{ matrix.platform }}-latest + steps: + + - uses: actions/setup-go@v2 + with: + go-version: ${{ matrix.go }} + + - uses: actions/checkout@v2 + + - uses: actions/cache@v2 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-${{ matrix.go }}-${{ hashFiles('**/go.sum') }} + restore-keys: ${{ runner.os }}-${{ matrix.go }}- + + - run: | + export GOBIN=$HOME/go/bin + curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | bash -s -- -b $GOBIN latest + go install github.com/kyoh86/richgo + go install github.com/mitchellh/gox + + - run: PATH=$HOME/go/bin/:$PATH make + + + test-win: + name: MINGW64 + defaults: + run: + shell: msys2 {0} + runs-on: windows-latest + steps: + + - shell: bash + run: git config --global core.autocrlf input + + - uses: msys2/setup-msys2@v2 + with: + msystem: MINGW64 + update: true + install: > + git + make + unzip + mingw-w64-x86_64-go + + - uses: actions/checkout@v2 + + - uses: actions/cache@v2 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-${{ matrix.go }}-${{ hashFiles('**/go.sum') }} + restore-keys: ${{ runner.os }}-${{ matrix.go }}- + + - run: | + export GOBIN=$HOME/go/bin + curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | bash -s -- -b $GOBIN latest + go install github.com/kyoh86/richgo + go install github.com/mitchellh/gox + + - run: PATH=$HOME/go/bin:$PATH make diff --git a/README.md b/README.md index 4a8811f..d143e32 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ Cobra is used in many Go projects such as [Kubernetes](http://kubernetes.io/), [Hugo](https://gohugo.io), and [Github CLI](https://github.com/cli/cli) to name a few. [This list](./projects_using_cobra.md) contains a more extensive list of projects using Cobra. +[![](https://img.shields.io/github/workflow/status/spf13/cobra/Test?longCache=tru&label=Test&logo=github%20actions&logoColor=fff)](https://github.com/spf13/cobra/actions?query=workflow%3ATest) [![Build Status](https://travis-ci.org/spf13/cobra.svg "Travis CI status")](https://travis-ci.org/spf13/cobra) [![GoDoc](https://godoc.org/github.com/spf13/cobra?status.svg)](https://godoc.org/github.com/spf13/cobra) [![Go Report Card](https://goreportcard.com/badge/github.com/spf13/cobra)](https://goreportcard.com/report/github.com/spf13/cobra)