1version: 2.1 2orbs: 3 go: circleci/go@0.2.0 4 prometheus: prometheus/prometheus@0.11.0 5jobs: 6 test: 7 parameters: 8 go_version: 9 type: string 10 run_style_and_unused: 11 type: boolean 12 default: false 13 run_lint: 14 type: boolean 15 default: false 16 use_gomod_cache: 17 type: boolean 18 default: true 19 docker: 20 - image: circleci/golang:<< parameters.go_version >> 21 working_directory: /go/src/github.com/prometheus/client_golang 22 steps: 23 - checkout 24 - when: 25 condition: << parameters.use_gomod_cache >> 26 steps: 27 - go/load-cache: 28 key: v1-go<< parameters.go_version >> 29 - run: make check_license test 30 - when: 31 condition: << parameters.run_lint >> 32 steps: 33 - run: make lint 34 - when: 35 condition: << parameters.run_style_and_unused >> 36 steps: 37 - run: make style unused 38 - when: 39 condition: << parameters.use_gomod_cache >> 40 steps: 41 - go/save-cache: 42 key: v1-go<< parameters.go_version >> 43 - store_test_results: 44 path: test-results 45workflows: 46 version: 2 47 client_golang: 48 jobs: 49 # Refer to README.md for the currently supported versions. 50 - test: 51 name: go-1-13 52 go_version: "1.13" 53 run_lint: true 54 - test: 55 name: go-1-14 56 go_version: "1.14" 57 run_lint: true 58 - test: 59 name: go-1-15 60 go_version: "1.15" 61 run_lint: true 62 - test: 63 name: go-1-16 64 go_version: "1.16" 65 run_lint: true 66 # Style and unused/missing packages are only checked against 67 # the latest supported Go version. 68 run_style_and_unused: true 69