chore: use published ipfs-interop module instead of master branch
Changes the CI pipeline to use a published version of the `ipfs-interop` module instead of whatever's the HEAD of master in order to control the versions of what's being tested. Otherwise it becomes hard to release breaking changes in an ordered fashion.
achingbrain committed
Jul 16, 2020 at 12:46 UTC
e8cfdd7f3daf45e11cd4ebf58aa9cd6726e2a758
1 file changed
+11
-27
.circleci/config.yml
+11
-27
@@ -58,8 +58,8 @@ executors:
58
IPFS_REUSEPORT: false
59
LIBP2P_ALLOW_WEAK_RSA_KEYS: 1
60
E2E_IPFSD_TYPE: go
61
- dockerizer:
62
- docker:
61
+ dockerizer:
62
+ docker:
63
- image: circleci/golang:1.14.4
64
environment:
65
IMAGE_NAME: ipfs/go-ipfs
@@ -100,7 +100,7 @@ jobs:
100
- run: |
101
make -j 1 test/unit/gotest.junit.xml \
102
&& [[ ! $(jq -s -c 'map(select(.Action == "fail")) | .[]' test/unit/gotest.json) ]]
103
- - run:
103
+ - run:
104
when: always
105
command: bash <(curl -s https://codecov.io/bash) -cF unittests -X search -f coverage/unit_tests.coverprofile
106
@@ -170,36 +170,20 @@ jobs:
170
- *make_out_dirs
171
- attach_workspace:
172
at: /tmp/circleci-workspace
173
- - run:
174
- name: Cloning
175
- command: |
176
- git clone https://github.com/ipfs/interop.git
177
- git -C interop log -1
178
- - restore_cache:
179
- keys:
180
- - v2-interop-{{ checksum "~/ipfs/go-ipfs/interop/package-lock.json" }}
181
- - v2-interop-
173
- run:
174
name: Installing dependencies
175
command: |
185
- npm install
186
- working_directory: ~/ipfs/go-ipfs/interop
187
- - save_cache:
188
- key: v2-interop-{{ checksum "~/ipfs/go-ipfs/interop/package-lock.json" }}
189
- paths:
190
- - ~/ipfs/go-ipfs/interop/node_modules
191
- - run:
192
- name: Installing reporting tools
193
- command: |
194
- npm install --save-dev mocha-circleci-reporter@0.0.3
176
+ npm init -y
177
+ npm install ipfs@^0.47.0
178
+ npm install ipfs-interop@^1.0.0
179
+ npm install mocha-circleci-reporter@0.0.3
180
working_directory: ~/ipfs/go-ipfs/interop
181
- run:
182
name: Running tests
183
command: |
184
mkdir -p /tmp/test-results/interop/
185
export MOCHA_FILE="$(mktemp /tmp/test-results/interop/unit.XXXXXX.xml)"
201
- node_modules/.bin/mocha --reporter mocha-circleci-reporter \
202
- $(sed -n -e "s|^require('\(.*\)')$|test/\1|p" test/node.js | circleci tests split)
186
+ node_modules/.bin/ipfs-interop -- -t node -f $(sed -n -e "s|^require('\(.*\)')$|test/\1|p" node_modules/ipfs-interop/test/node.js | circleci tests split) -- --reporter mocha-circleci-reporter
187
working_directory: ~/ipfs/go-ipfs/interop
188
environment:
189
IPFS_REUSEPORT: false
@@ -386,12 +370,12 @@ workflows:
370
# also means tag-based jobs can only depend on other tag-based jobs, so we
371
# use a separate workflow because every job needs to be tagged together.
372
# see: https://circleci.com/docs/2.0/workflows/#executing-workflows-for-a-git-tag
389
- docker-on-tag:
373
+ docker-on-tag:
374
jobs:
375
- docker-build:
392
- filters: *only-version-tags
376
+ filters: *only-version-tags
377
- docker-push:
378
context: dockerhub
395
- filters: *only-version-tags
379
+ filters: *only-version-tags
380
requires:
381
- docker-build