ci: use executors
Also, use environment variables where appropriate.
Steven Allen committed
Aug 13, 2019 at 14:10 UTC
f8c2e279ee248ceef2e2bb5af41c37bf2b965f55
1 file changed
+37
-45
.circleci/config.yml
+37
-45
@@ -1,8 +1,8 @@
1
-version: 2.0
1
+version: 2.1
2
3
aliases:
4
make_out_dirs: &make_out_dirs
5
- run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_WORKSPACE $CIRCLE_TEST_REPORTS/{unit,sharness}
5
+ run: mkdir -p /tmp/circleci-artifacts /tmp/circleci-workspace /tmp/circleci-test-results/{unit,sharness}
6
restore_gomod: &restore_gomod
7
restore_cache:
8
keys:
@@ -17,28 +17,36 @@ aliases:
17
- ~/go/pkg/mod
18
- ~/.cache/go-build/
19
20
+default_environment: &default_environment
21
+ SERVICE: circle-ci
22
+ TRAVIS: 1
23
+ CIRCLE: 1
24
+ CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
25
+ CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
26
+ GIT_PAGER: cat
27
21
-defaults: &defaults
22
- working_directory: ~/ipfs/go-ipfs
23
- environment:
24
- GIT_PAGER: cat
25
- GO111MODULE: "on"
26
- TEST_NO_DOCKER: 1
27
- TEST_NO_FUSE: 1
28
- GOPATH: /home/circleci/go
29
- CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
30
- CIRCLE: 1
31
- SERVICE: circle-ci
32
- CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
33
- CIRCLE_WORKSPACE: /tmp/circleci-workspace
34
- TEST_VERBOSE: 1
35
- TRAVIS: 1
28
+executors:
29
+ golang:
30
+ docker:
31
+ - image: circleci/golang:1.12
32
+ working_directory: ~/ipfs/go-ipfs
33
+ environment:
34
+ <<: *default_environment
35
+ GO111MODULE: "on"
36
+ TEST_NO_DOCKER: 1
37
+ TEST_NO_FUSE: 1
38
+ GOPATH: /home/circleci/go
39
+ TEST_VERBOSE: 1
40
+ node:
41
+ docker:
42
+ - image: circleci/node:10
43
+ working_directory: ~/ipfs/go-ipfs
44
+ environment:
45
+ <<: *default_environment
46
47
jobs:
48
gobuild:
39
- docker:
40
- - image: circleci/golang:1.12
41
- <<: *defaults
49
+ executor: golang
50
steps:
51
- checkout
52
- *make_out_dirs
@@ -53,9 +61,7 @@ jobs:
61
TEST_NO_FUSE: 1
62
- *store_gomod
63
golint:
56
- <<: *defaults
57
- docker:
58
- - image: circleci/golang:1.12
64
+ executor: golang
65
steps:
66
- checkout
67
- *make_out_dirs
@@ -64,9 +70,7 @@ jobs:
70
make -O test_go_lint
71
- *store_gomod
72
gotest:
67
- docker:
68
- - image: circleci/golang:1.12
69
- <<: *defaults
73
+ executor: golang
74
steps:
75
- checkout
76
- *make_out_dirs
@@ -93,9 +97,7 @@ jobs:
97
- store_artifacts:
98
path: /tmp/circleci-test-results
99
sharness:
96
- docker:
97
- - image: circleci/golang:1.12
98
- <<: *defaults
100
+ executor: golang
101
steps:
102
- run: sudo apt install socat
103
- checkout
@@ -122,9 +124,7 @@ jobs:
124
- store_artifacts:
125
path: /tmp/circleci-test-results
126
build:
125
- docker:
126
- - image: circleci/golang:1.12
127
- <<: *defaults
127
+ executor: golang
128
steps:
129
- checkout
130
- *make_out_dirs
@@ -143,9 +143,9 @@ jobs:
143
- bin/ipfs
144
- *store_gomod
145
interop:
146
- docker:
147
- - image: circleci/node:10
148
- <<: *defaults
146
+ executor: node
147
+ environment:
148
+ IPFS_GO_EXEC: /tmp/circleci-workspace/bin/ipfs
149
steps:
150
- *make_out_dirs
151
- attach_workspace:
@@ -162,8 +162,6 @@ jobs:
162
- run:
163
command: npm install
164
working_directory: ~/ipfs/go-ipfs/interop
165
- environment:
166
- IPFS_GO_EXEC: /tmp/circleci-workspace/bin/ipfs
165
- save_cache:
166
key: v1-interop-{{ checksum "~/ipfs/go-ipfs/interop/package-lock.json" }}
167
paths:
@@ -171,12 +169,8 @@ jobs:
169
- run:
170
command: npm run test:node
171
working_directory: ~/ipfs/go-ipfs/interop
174
- environment:
175
- IPFS_GO_EXEC: /tmp/circleci-workspace/bin/ipfs
172
go-ipfs-api:
177
- docker:
178
- - image: circleci/golang:1.12
179
- <<: *defaults
173
+ executor: golang
174
steps:
175
- *make_out_dirs
176
- attach_workspace:
@@ -213,9 +207,7 @@ jobs:
207
name: Stopping the daemon
208
command: /tmp/circleci-workspace/bin/ipfs shutdown
209
go-ipfs-http-client:
216
- docker:
217
- - image: circleci/golang:1.12
218
- <<: *defaults
210
+ executor: golang
211
steps:
212
- *make_out_dirs
213
- attach_workspace: