client_golang/.circleci/config.yml

69 lines
1.8 KiB
YAML

version: 2.1
orbs:
go: circleci/go@0.2.0
prometheus: prometheus/prometheus@0.11.0
jobs:
test:
parameters:
go_version:
type: string
run_style_and_unused:
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 test
- when:
condition: << parameters.run_lint >>
steps:
- run: make lint
- when:
condition: << parameters.run_style_and_unused >>
steps:
- run: make style unused
- 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-13
go_version: "1.13"
run_lint: true
- test:
name: go-1-14
go_version: "1.14"
run_lint: true
- test:
name: go-1-15
go_version: "1.15"
run_lint: true
- test:
name: go-1-16
go_version: "1.16"
run_lint: true
# Style and unused/missing packages are only checked against
# the latest supported Go version.
run_style_and_unused: true