Skip to content

Commit fc13183

Browse files
committed
Add windows CI run, and update circleci version
1 parent c02b0fb commit fc13183

File tree

3 files changed

+82
-31
lines changed

3 files changed

+82
-31
lines changed

.circleci/config.yml

Lines changed: 65 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: 2.0
1+
version: 2.1
22

33
# heavily inspired by https://raw.githubusercontent.com/pinax/pinax-wiki/6bd2a99ab6f702e300d708532a6d1d9aa638b9f8/.circleci/config.yml
44

@@ -116,7 +116,7 @@ ethpm_steps: &ethpm_steps
116116
- checkout
117117
- restore_cache:
118118
keys:
119-
- cache-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.py" }}-{{ checksum "tox.ini" }}
119+
- ethpm-cache-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.py" }}-{{ checksum "tox.ini" }}
120120
- run:
121121
name: install ipfs
122122
command:
@@ -142,10 +142,34 @@ ethpm_steps: &ethpm_steps
142142
- .tox
143143
- ~/.cache/pip
144144
- ~/.local
145-
- ./eggs
146-
- ~/.ethash
147-
- ~/.py-geth
148-
key: cache-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.py" }}-{{ checksum "tox.ini" }}
145+
key: ethpm-cache-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.py" }}-{{ checksum "tox.ini" }}
146+
147+
orbs:
148+
win: circleci/[email protected]
149+
150+
windows_steps: &windows_steps
151+
executor:
152+
name: win/default
153+
shell: bash.exe
154+
working_directory: C:\Users\circleci\project\web3py
155+
steps:
156+
- checkout
157+
- restore_cache:
158+
keys:
159+
- windows-cache-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.py" }}-{{ checksum "tox.ini" }}
160+
- run:
161+
name: checkout ethpm-spec submodule
162+
command: git submodule update --init --recursive
163+
- run:
164+
name: install dependencies
165+
command: pip install --user tox
166+
- run:
167+
name: run tox
168+
command: 'C:/Users/circleci/AppData/Roaming/Python/Python37/Scripts/tox.exe -r'
169+
- save_cache:
170+
paths:
171+
- .tox
172+
key: windows-cache-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.py" }}-{{ checksum "tox.ini" }}
149173

150174

151175
jobs:
@@ -189,23 +213,23 @@ jobs:
189213
# Please don't use this key for any shenanigans
190214
WEB3_INFURA_PROJECT_ID: 7707850c2fb7465ebe6f150d67182e22
191215

192-
py36-integration-goethereum-ipc-1.9.19:
216+
py36-integration-goethereum-ipc:
193217
<<: *geth_steps
194218
docker:
195219
- image: circleci/python:3.6
196220
environment:
197221
TOXENV: py36-integration-goethereum-ipc
198222
GETH_VERSION: v1.9.19
199223

200-
py36-integration-goethereum-http-1.9.19:
224+
py36-integration-goethereum-http:
201225
<<: *geth_steps
202226
docker:
203227
- image: circleci/python:3.6
204228
environment:
205229
TOXENV: py36-integration-goethereum-http
206230
GETH_VERSION: v1.9.19
207231

208-
py36-integration-goethereum-ws-1.9.19:
232+
py36-integration-goethereum-ws:
209233
<<: *geth_steps
210234
docker:
211235
- image: circleci/python:3.6
@@ -247,12 +271,14 @@ jobs:
247271
environment:
248272
TOXENV: py36-integration-ethtester
249273
ETHEREUM_TESTER_CHAIN_BACKEND: eth_tester.backends.PyEVMBackend
274+
250275
py36-wheel-cli:
251276
<<: *common
252277
docker:
253278
- image: circleci/python:3.6
254-
environment:
255-
TOXENV: py36-wheel-cli
279+
environment:
280+
TOXENV: py36-wheel-cli
281+
256282
#
257283
# Python 3.7
258284
#
@@ -279,23 +305,23 @@ jobs:
279305
# Please don't use this key for any shenanigans
280306
WEB3_INFURA_PROJECT_ID: 7707850c2fb7465ebe6f150d67182e22
281307

282-
py37-integration-goethereum-ipc-1.9.19:
308+
py37-integration-goethereum-ipc:
283309
<<: *geth_steps
284310
docker:
285311
- image: circleci/python:3.7
286312
environment:
287313
TOXENV: py37-integration-goethereum-ipc
288314
GETH_VERSION: v1.9.19
289315

290-
py37-integration-goethereum-http-1.9.19:
316+
py37-integration-goethereum-http:
291317
<<: *geth_steps
292318
docker:
293319
- image: circleci/python:3.7
294320
environment:
295321
TOXENV: py37-integration-goethereum-http
296322
GETH_VERSION: v1.9.19
297323

298-
py37-integration-goethereum-ws-1.9.19:
324+
py37-integration-goethereum-ws:
299325
<<: *geth_steps
300326
docker:
301327
- image: circleci/python:3.7
@@ -337,12 +363,19 @@ jobs:
337363
environment:
338364
TOXENV: py37-integration-ethtester
339365
ETHEREUM_TESTER_CHAIN_BACKEND: eth_tester.backends.PyEVMBackend
366+
340367
py37-wheel-cli:
341368
<<: *common
342369
docker:
343370
- image: circleci/python:3.7
344-
environment:
345-
TOXENV: py37-wheel-cli
371+
environment:
372+
TOXENV: py37-wheel-cli
373+
374+
py37-wheel-cli-windows:
375+
<<: *windows_steps
376+
environment:
377+
TOXENV: py37-wheel-cli-windows
378+
346379
#
347380
# Python 3.8
348381
#
@@ -369,23 +402,23 @@ jobs:
369402
# Please don't use this key for any shenanigans
370403
WEB3_INFURA_PROJECT_ID: 7707850c2fb7465ebe6f150d67182e22
371404

372-
py38-integration-goethereum-ipc-1.9.19:
405+
py38-integration-goethereum-ipc:
373406
<<: *geth_steps
374407
docker:
375408
- image: circleci/python:3.8
376409
environment:
377410
TOXENV: py38-integration-goethereum-ipc
378411
GETH_VERSION: v1.9.19
379412

380-
py38-integration-goethereum-http-1.9.19:
413+
py38-integration-goethereum-http:
381414
<<: *geth_steps
382415
docker:
383416
- image: circleci/python:3.8
384417
environment:
385418
TOXENV: py38-integration-goethereum-http
386419
GETH_VERSION: v1.9.19
387420

388-
py38-integration-goethereum-ws-1.9.19:
421+
py38-integration-goethereum-ws:
389422
<<: *geth_steps
390423
docker:
391424
- image: circleci/python:3.8
@@ -432,11 +465,11 @@ jobs:
432465
<<: *common
433466
docker:
434467
- image: circleci/python:3.8
435-
environment:
436-
TOXENV: py38-wheel-cli
468+
environment:
469+
TOXENV: py38-wheel-cli
437470

438471
workflows:
439-
version: 2
472+
version: 2.1
440473
test:
441474
jobs:
442475
# These are the longest running tests, start them first
@@ -447,29 +480,30 @@ workflows:
447480
- docs
448481
- py36-ens
449482
- py36-ethpm
450-
- py36-integration-goethereum-ipc-1.9.19
451-
- py36-integration-goethereum-http-1.9.19
452-
- py36-integration-goethereum-ws-1.9.19
483+
- py36-integration-goethereum-ipc
484+
- py36-integration-goethereum-http
485+
- py36-integration-goethereum-ws
453486
# - py36-integration-parity-ipc
454487
# - py36-integration-parity-http
455488
# - py36-integration-parity-ws
456489
- py36-integration-ethtester-pyevm
457490
- py36-wheel-cli
458491
- py37-ens
459492
- py37-ethpm
460-
- py37-integration-goethereum-ipc-1.9.19
461-
- py37-integration-goethereum-http-1.9.19
462-
- py37-integration-goethereum-ws-1.9.19
493+
- py37-integration-goethereum-ipc
494+
- py37-integration-goethereum-http
495+
- py37-integration-goethereum-ws
463496
# - py37-integration-parity-ipc
464497
# - py37-integration-parity-http
465498
# - py37-integration-parity-ws
466499
- py37-integration-ethtester-pyevm
467500
- py37-wheel-cli
501+
- py37-wheel-cli-windows
468502
- py38-ens
469503
- py38-ethpm
470-
- py38-integration-goethereum-ipc-1.9.19
471-
- py38-integration-goethereum-http-1.9.19
472-
- py38-integration-goethereum-ws-1.9.19
504+
- py38-integration-goethereum-ipc
505+
- py38-integration-goethereum-http
506+
- py38-integration-goethereum-ws
473507
# - py38-integration-parity-ipc
474508
# - py38-integration-parity-http
475509
# - py38-integration-parity-ws

newsfragments/1907.misc.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add windows CI job

tox.ini

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,3 +94,19 @@ deps={[common-wheel-cli]deps}
9494
whitelist_externals={[common-wheel-cli]whitelist_externals}
9595
commands={[common-wheel-cli]commands}
9696
skip_install=true
97+
98+
[common-wheel-cli-windows]
99+
deps=wheel
100+
whitelist_externals=
101+
bash.exe
102+
commands=
103+
bash.exe -c "rm -rf build dist"
104+
python setup.py sdist bdist_wheel
105+
bash.exe -c 'pip install --upgrade "$(ls dist/web3-*-py3-none-any.whl)" --progress-bar off'
106+
python -c "from web3.auto import w3"
107+
108+
[testenv:py37-wheel-cli-windows]
109+
deps={[common-wheel-cli]deps}
110+
whitelist_externals={[common-wheel-cli-windows]whitelist_externals}
111+
commands={[common-wheel-cli-windows]commands}
112+
skip_install=true

0 commit comments

Comments
 (0)