forked from Autodesk/molecular-design-toolkit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
codeship-steps.yml
99 lines (88 loc) · 2.98 KB
/
codeship-steps.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
- name: generate_dockerfiles
service: docker_make
type: serial
steps:
- command:
docker-make -p -n --dockerfile-dir /makefiles
nwchem_build
pyscf_build
deploybase
python_deploy_base
python_deploy_base_py2
name: write_dockerfiles
- command: cp buildfiles/deploybase/cleanapt buildfiles/notebook/run_notebook.sh /makefiles
name: copy_contexts
- name: trigger_caches
type: parallel
services:
- cache_nwchem_build
- cache_pyscf_build
- cache_deploybase
- cache_python_deploy_base
- cache_python_deploy_base_py2
steps:
- command: echo cache triggered
- name: parallel_image_build
type: parallel
service: docker_make
steps:
- command: docker-make --tag dev nwchem
name: nwchem
- type: serial
steps:
- command: docker-make --tag dev moldesign_minimal
name: mdt_minimal
- command: docker-make --tag dev moldesign_minimal_py2
name: mdt_minimal_py2
- type: serial
steps:
- command: docker-make --tag dev ambertools
name: ambertools
- command: docker-make --tag dev opsin
name: opsin
- command: docker-make --tag dev symmol
name: symmol
- type: serial
steps:
- command: docker-make --tag dev pyscf_build
name: pyscf_build
- command: docker-make --tag dev moldesign_complete
name: mdt_complete
- command: docker-make --tag dev moldesign_complete_py2
name: mdt_complete_py2
- name: mdt_stack_build
service: docker_make
command: docker-make --all --tag dev
- name: tests
type: parallel
steps: # we test 2 environments: one without tools locally installed, and one with
- command: ../../deployment/codeship_runtests.sh
service: test_moldesign_complete
name: complete_env_test
- command: ../../deployment/codeship_runtests.sh
service: test_moldesign_complete_py2
name: complete_env_test_py2
- command: ../../deployment/codeship_runtests.sh
service: test_moldesign_minimal
name: minimal_env_test
- command: ../../deployment/codeship_runtests.sh
service: test_moldesign_minimal_py2
name: minimal_env_test_py2
# TODO: test the merged versions of PRs; test additional environments sometimes
#- name: code_coverage
# service: test_moldesign_complete
# command: cd /opt/molecular-design-toolkit/ && coveralls
- name: publish
service: publisher
# matches tags that are valid semantic versions
tag: '^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$'
type: serial
steps:
- command: exit 1 # test that the code has the right version (and test that it's a good semver?)
name: verify_version
- command: build any additional images for deployment (moldesign_notebook, at least?)
tag: build_notebook
- command: tag and push docker images
name: docker_deploy
- command: upload package to pypi
name: pypi_deploy