Run JS interop in CircleCI
Łukasz Magiera committed
Jun 5, 2019 at 12:47 UTC
c25794099175b5503ba0281c1e43b09bd49e626c
1 file changed
+49
-4
.circleci/config.yml
+49
-4
@@ -2,7 +2,7 @@ version: 2.0
2
3
aliases:
4
make_out_dirs: &make_out_dirs
5
- run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS/{unit,sharness}
5
+ run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_WORKSPACE $CIRCLE_TEST_REPORTS/{unit,sharness}
6
restore_gomod: &restore_gomod
7
restore_cache:
8
keys:
@@ -29,14 +29,14 @@ defaults: &defaults
29
CIRCLE: 1
30
SERVICE: circle-ci
31
CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
32
+ CIRCLE_WORKSPACE: /tmp/circleci-workspace
33
TEST_VERBOSE: 1
34
TRAVIS: 1
35
35
- docker:
36
- - image: circleci/golang:1.12
37
-
36
jobs:
37
gobuild:
38
+ docker:
39
+ - image: circleci/golang:1.12
40
<<: *defaults
41
steps:
42
- checkout
@@ -53,6 +53,8 @@ jobs:
53
- *store_gomod
54
golint:
55
<<: *defaults
56
+ docker:
57
+ - image: circleci/golang:1.12
58
steps:
59
- checkout
60
- *make_out_dirs
@@ -61,6 +63,8 @@ jobs:
63
make -O test_go_lint
64
- *store_gomod
65
gotest:
66
+ docker:
67
+ - image: circleci/golang:1.12
68
<<: *defaults
69
steps:
70
- checkout
@@ -88,6 +92,8 @@ jobs:
92
- store_artifacts:
93
path: /tmp/circleci-test-results
94
sharness:
95
+ docker:
96
+ - image: circleci/golang:1.12
97
<<: *defaults
98
steps:
99
- run: sudo apt install socat
@@ -114,6 +120,41 @@ jobs:
120
path: /tmp/circleci-artifacts
121
- store_artifacts:
122
path: /tmp/circleci-test-results
123
+ build-interop:
124
+ docker:
125
+ - image: circleci/golang:1.12
126
+ <<: *defaults
127
+ steps:
128
+ - checkout
129
+ - *make_out_dirs
130
+ - *restore_gomod
131
+ - run: make build
132
+ - run: cp cmd/ipfs/ipfs /tmp/circleci-workspace
133
+ - persist_to_workspace:
134
+ root: /tmp/circleci-workspace
135
+ paths:
136
+ - ipfs
137
+ - *store_gomod
138
+ interop:
139
+ docker:
140
+ - image: circleci/node:10
141
+ <<: *defaults
142
+ steps:
143
+ - *make_out_dirs
144
+ - attach_workspace:
145
+ at: /tmp/circleci-workspace
146
+ - run: git clone https://github.com/ipfs/interop.git
147
+ - run:
148
+ command: npm install
149
+ working_directory: ~/ipfs/go-ipfs/interop
150
+ environment:
151
+ IPFS_GO_EXEC: /tmp/circleci-workspace/ipfs
152
+ - run:
153
+ command: npm test
154
+ working_directory: ~/ipfs/go-ipfs/interop
155
+ environment:
156
+ IPFS_GO_EXEC: /tmp/circleci-workspace/ipfs
157
+
158
159
workflows:
160
version: 2
@@ -123,3 +164,7 @@ workflows:
164
- golint
165
- gotest
166
- sharness
167
+ - build-interop
168
+ - interop:
169
+ requires:
170
+ - build-interop