-
Notifications
You must be signed in to change notification settings - Fork 59
Expand file tree
/
Copy pathconfig.yml
More file actions
105 lines (105 loc) · 3.16 KB
/
Copy pathconfig.yml
File metadata and controls
105 lines (105 loc) · 3.16 KB
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
100
101
102
103
104
105
version: 2.1
executors:
bluegenes_exec:
docker:
- image: 'circleci/clojure:openjdk-8-lein-2.9.1-node-browsers'
intermine_exec:
machine:
image: ubuntu-2004:2024.11.1
environment:
BLUEGENES_DEFAULT_SERVICE_ROOT: "http://localhost:9999/biotestmine"
BLUEGENES_DEFAULT_MINE_NAME: Biotestmine
BLUEGENES_DEFAULT_NAMESPACE: biotestmine
BLUEGENES_ADDITIONAL_MINES: '[{:root "https://www.flymine.org/flymine" :name "FlyMine" :namespace "flymine"}]'
CYPRESS_defaultCommandTimeout: 60000
CYPRESS_requestTimeout: 60000
CYPRESS_responseTimeout: 60000
## I wasn't able to get kaocha to connect to the browser when using the machine
## executor (needed for the browser tests) and you can't use intermine_boot
## (needed for Cypress tests) inside a docker executor, due to them using a
## remote docker daemon. Hence the need for two executors.
jobs:
setup_bluegenes:
executor: bluegenes_exec
steps:
- run:
name: Start a browser process for running kaocha tests
command: google-chrome-stable --no-first-run
background: true
- checkout
- restore_cache:
keys:
- v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
- v1-deps--kaocha-{{ .Branch }}-{{ checksum "project.clj" }}
- v1-deps-{{ .Branch }}
- v1-deps
- run: lein cljfmt check
- run: npm ci
- save_cache:
key: v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
paths:
- ~/.npm
- ~/.cache
- run: lein kaocha
- save_cache:
key: v1-deps-kaocha-{{ .Branch }}-{{ checksum "project.clj" }}
paths:
- ~/.m2
setup_intermine:
executor: intermine_exec
resource_class: large
steps:
- run: sudo apt-get update -y
- run: sudo apt-get install -y libgconf-2-4
- run: pyenv versions
- run: pyenv global 3.8.5
- run: pip3 install intermine-boot
- restore_cache:
keys:
- biotestmine-e756d26
- run: intermine_boot start local
- save_cache:
key: biotestmine-e756d26
paths:
- ~/.local/share/intermine_boot
- checkout
- restore_cache:
keys:
- v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
- v1-deps-{{ .Branch }}-{{ checksum "project.clj" }}
- v1-deps-{{ .Branch }}
- v1-deps
- run: npm ci
- run: node -v
- run: npx cypress verify
- save_cache:
key: v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
paths:
- ~/.npm
- ~/.cache
- run: lein deps
- run:
command: lein prod
background: true
- save_cache:
key: v1-deps-{{ .Branch }}-{{ checksum "project.clj" }}
paths:
- ~/.m2
- run:
name: Wait until web server is ready
command: |
until $(curl --output /dev/null --silent --head --fail http://localhost:5000); do
sleep 10
done
- run: npm test
- store_test_results:
path: cypress/results
- store_artifacts:
path: cypress/videos
- store_artifacts:
path: cypress/screenshots
workflows:
build_and_test:
jobs:
- setup_bluegenes
- setup_intermine