75 lines
1.7 KiB
YAML
75 lines
1.7 KiB
YAML
|
---
|
||
|
version: 2.1
|
||
|
|
||
|
orbs:
|
||
|
go: circleci/go@0.2.0
|
||
|
|
||
|
jobs:
|
||
|
test:
|
||
|
parameters:
|
||
|
go_version:
|
||
|
type: string
|
||
|
run_style:
|
||
|
type: boolean
|
||
|
default: false
|
||
|
run_lint:
|
||
|
type: boolean
|
||
|
default: false
|
||
|
use_gomod_cache:
|
||
|
type: boolean
|
||
|
default: true
|
||
|
docker:
|
||
|
- image: circleci/golang:<< parameters.go_version >>
|
||
|
working_directory: /go/src/github.com/prometheus/client_golang
|
||
|
steps:
|
||
|
- checkout
|
||
|
- when:
|
||
|
condition: << parameters.use_gomod_cache >>
|
||
|
steps:
|
||
|
- go/load-cache:
|
||
|
key: v1-go<< parameters.go_version >>
|
||
|
- run: make check_license unused test
|
||
|
- when:
|
||
|
condition: << parameters.run_lint >>
|
||
|
steps:
|
||
|
- run: make lint
|
||
|
- when:
|
||
|
condition: << parameters.run_style >>
|
||
|
steps:
|
||
|
- run: make style
|
||
|
- when:
|
||
|
condition: << parameters.use_gomod_cache >>
|
||
|
steps:
|
||
|
- go/save-cache:
|
||
|
key: v1-go<< parameters.go_version >>
|
||
|
- store_test_results:
|
||
|
path: test-results
|
||
|
|
||
|
workflows:
|
||
|
version: 2
|
||
|
client_golang:
|
||
|
jobs:
|
||
|
# Refer to README.md for the currently supported versions.
|
||
|
- test:
|
||
|
name: go-1-9
|
||
|
go_version: "1.9"
|
||
|
use_gomod_cache: false
|
||
|
- test:
|
||
|
name: go-1-10
|
||
|
go_version: "1.10"
|
||
|
use_gomod_cache: false
|
||
|
- test:
|
||
|
name: go-1-11
|
||
|
go_version: "1.11"
|
||
|
run_lint: true
|
||
|
- test:
|
||
|
name: go-1-12
|
||
|
go_version: "1.12"
|
||
|
run_lint: true
|
||
|
- test:
|
||
|
name: go-1-13
|
||
|
go_version: "1.13"
|
||
|
run_lint: true
|
||
|
# Style is only checked against the latest supported Go version.
|
||
|
run_style: true
|