add gitlab-ci
This commit is contained in:
		
							parent
							
								
									0764231935
								
							
						
					
					
						commit
						e47e3faee9
					
				|  | @ -0,0 +1,8 @@ | |||
| #!/bin/bash | ||||
| 
 | ||||
| result="$(gofmt -s -l . | grep -v '^vendor/' )" | ||||
| if [ -n "$result" ]; then | ||||
|   echo "Go code is not formatted, run 'gofmt -s -w .'" >&2 | ||||
|   echo "$result" | ||||
|   exit 1 | ||||
| fi | ||||
|  | @ -0,0 +1,25 @@ | |||
| #!/usr/bin/env python | ||||
| # checks if every desired package has test files | ||||
| 
 | ||||
| import os | ||||
| import re | ||||
| import sys | ||||
| 
 | ||||
| source_re = re.compile(".*\.go") | ||||
| test_re   = re.compile(".*_test\.go") | ||||
| missing   = False | ||||
| 
 | ||||
| for root, dirs, files in os.walk("."): | ||||
|   # ignore some paths | ||||
|   if root == "." or root.startswith("./vendor") or root.startswith("./."): | ||||
|     continue | ||||
| 
 | ||||
|   # source files but not test files? | ||||
|   if len(filter(source_re.match, files)) > 0 and len(filter(test_re.match, files)) == 0: | ||||
|     print("no test files for {}".format(root)) | ||||
|     missing = True | ||||
| 
 | ||||
| if missing: | ||||
|   sys.exit(1) | ||||
| else: | ||||
|   print("every package has test files") | ||||
|  | @ -0,0 +1,36 @@ | |||
| image: golang:latest | ||||
| stages: | ||||
|   - build | ||||
|   - test | ||||
| 
 | ||||
| before_script: | ||||
|   - mkdir -p /go/src/dev.sum7.eu/$CI_PROJECT_NAMESPACE/ | ||||
|   - cp -R /builds/$CI_PROJECT_PATH /go/src/dev.sum7.eu/$CI_PROJECT_NAMESPACE/ | ||||
|   - cd /go/src/dev.sum7.eu/$CI_PROJECT_PATH | ||||
|   - go get -d -t ./... | ||||
| 
 | ||||
| build-my-project: | ||||
|   stage: build | ||||
|   script: | ||||
|     - go install dev.sum7.eu/$CI_PROJECT_PATH/... | ||||
|     - mv /go/bin/$CI_PROJECT_NAME /builds/$CI_PROJECT_PATH | ||||
|   artifacts: | ||||
|     paths: | ||||
|       - $CI_PROJECT_NAME | ||||
| 
 | ||||
| test-my-project: | ||||
|   stage: test | ||||
|   script: | ||||
|     - go get github.com/client9/misspell/cmd/misspell | ||||
|     - misspell -error . | ||||
|     - ./.ci/check-gofmt | ||||
|     - ./.ci/check-testfiles | ||||
|     - go test $(go list ./... | grep -v /vendor/) -v -coverprofile .testCoverage.txt | ||||
|   artifacts: | ||||
|     paths: | ||||
|      - .testCoverage.txt | ||||
| 
 | ||||
| test-race-my-project: | ||||
|   stage: test | ||||
|   script: | ||||
|     - go test -race ./... | ||||
		Reference in New Issue