...
1---
2version: 2.1
3
4orbs:
5 go: circleci/go@1.7.1
6
7jobs:
8 test:
9 parameters:
10 go_version:
11 type: string
12 use_gomod_cache:
13 type: boolean
14 default: true
15 docker:
16 - image: cimg/go:<< parameters.go_version >>
17 environment:
18 # Override Go 1.18 security deprecations.
19 GODEBUG: "x509sha1=1,tls10default=1"
20 steps:
21 - checkout
22 - when:
23 condition: << parameters.use_gomod_cache >>
24 steps:
25 - go/load-cache:
26 key: v1-go<< parameters.go_version >>
27 - run: make test
28 - run: make -C sigv4 test
29 - when:
30 condition: << parameters.use_gomod_cache >>
31 steps:
32 - go/save-cache:
33 key: v1-go<< parameters.go_version >>
34 - store_test_results:
35 path: test-results
36 test-assets:
37 parameters:
38 go_version:
39 type: string
40 use_gomod_cache:
41 type: boolean
42 default: true
43 docker:
44 - image: cimg/go:<< parameters.go_version >>
45 steps:
46 - checkout
47 - when:
48 condition: << parameters.use_gomod_cache >>
49 steps:
50 - go/load-cache:
51 key: v1-go<< parameters.go_version >>
52 - run: make -C assets test
53 - when:
54 condition: << parameters.use_gomod_cache >>
55 steps:
56 - go/save-cache:
57 key: v1-go<< parameters.go_version >>
58 - store_test_results:
59 path: test-results
60 style:
61 parameters:
62 go_version:
63 type: string
64 use_gomod_cache:
65 type: boolean
66 default: true
67 docker:
68 - image: cimg/go:<< parameters.go_version >>
69 steps:
70 - checkout
71 - when:
72 condition: << parameters.use_gomod_cache >>
73 steps:
74 - go/load-cache:
75 key: v1-go<< parameters.go_version >>
76 - run: make style
77 - run: make -C sigv4 style
78 - run: make -C assets style
79 - run: make check-go-mod-version
80 - when:
81 condition: << parameters.use_gomod_cache >>
82 steps:
83 - go/save-cache:
84 key: v1-go<< parameters.go_version >>
85 - store_test_results:
86 path: test-results
87
88workflows:
89 version: 2
90 tests:
91 jobs:
92 # Supported Go versions are synced with github.com/prometheus/client_golang.
93 - test:
94 name: go-<< matrix.go_version >>
95 matrix:
96 parameters:
97 go_version:
98 - "1.20"
99 - "1.21"
100 - "1.22"
101 - test-assets:
102 name: assets-go-<< matrix.go_version >>
103 matrix:
104 parameters:
105 go_version:
106 - "1.22"
107 - style:
108 name: style
109 go_version: "1.22"
View as plain text