ci: add GitHub Actions workflow 'Test' (#1339)
Adds a "test" action which will run side by side (for now) with Travis Co-authored-by: John McBride <jpmmcbride@gmail.com>
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							652c755d37
						
					
				
				
					commit
					b73b344b63
				
			
							
								
								
									
										83
									
								
								.github/workflows/Test.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								.github/workflows/Test.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -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
 | 
				
			||||||
@ -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
 | 
					[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.
 | 
					name a few. [This list](./projects_using_cobra.md) contains a more extensive list of projects using Cobra.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[](https://github.com/spf13/cobra/actions?query=workflow%3ATest)
 | 
				
			||||||
[](https://travis-ci.org/spf13/cobra)
 | 
					[](https://travis-ci.org/spf13/cobra)
 | 
				
			||||||
[](https://godoc.org/github.com/spf13/cobra)
 | 
					[](https://godoc.org/github.com/spf13/cobra)
 | 
				
			||||||
[](https://goreportcard.com/report/github.com/spf13/cobra)
 | 
					[](https://goreportcard.com/report/github.com/spf13/cobra)
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user