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