-
Notifications
You must be signed in to change notification settings - Fork 0
130 lines (107 loc) · 4.01 KB
/
compatibility.yaml
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: Tool version compatibility test
on:
workflow_dispatch:
schedule:
- cron: '21 5,17 * * *'
jobs:
latest:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Rename files
working-directory: .
run: |
cp template.env .env
cp local_nb_nodes.template.json local_nb_nodes.json
- name: Edit NB_API_QUERY_URL env var
working-directory: .
run: |
sed -i 's|^NB_API_QUERY_URL=.*|NB_API_QUERY_URL=http://localhost:8080|g' .env
- name: Run docker compose
working-directory: .
run: |
docker compose --profile full_stack up -d
- name: Set up node env
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install cypress
run: npm install
- name: wait for graph set up
working-directory: ./scripts
run: |
# The logs are written at the end of the setup at the moment, so we have to wait for the file to exist
while [ ! -f ./logs/DEPLOY.log ]; do
:
done
# Once the file is there, we want to wait for the message that the setup is done
echo "We think the file exists now!"
while ! tail -n 0 -f ./logs/DEPLOY.log | grep -q "Finished setting up the Neurobagel graph backend."; do
:
done
echo "Finished setting up the Neurobagel graph backend."
- name: Run end to end tests
uses: cypress-io/github-action@v6
with:
wait-on: http://localhost:3000
component: false
- name: Latest failed, tell someone
if: ${{ failure() }}
run: |
curl -X POST -H 'Content-type: application/json' --data '{"text":"Neurobagel latest version compatibility test failed! Please check https://github.com/neurobagel/recipes/actions and resolve the incompatible versions!"}' ${{ secrets.NB_SLACK_WEBHOOK }}
- name: Clean up again
working-directory: .
run: |
docker compose --profile full_stack down
nightly:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Rename files
working-directory: .
run: |
cp template.env .env
cp local_nb_nodes.template.json local_nb_nodes.json
sed -i 's/latest/nightly/g' .env
- name: Edit NB_API_QUERY_URL env var
working-directory: .
run: |
sed -i 's|^NB_API_QUERY_URL=.*|NB_API_QUERY_URL=http://localhost:8080|g' .env
- name: Run docker compose
working-directory: .
run: |
docker compose --profile full_stack up -d
- name: Set up node env
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install cypress
run: npm install
- name: wait for graph set up
working-directory: ./scripts
run: |
# The logs are written at the end of the setup at the moment, so we have to wait for the file to exist
while [ ! -f ./logs/DEPLOY.log ]; do
:
done
# Once the file is there, we want to wait for the message that the setup is done
echo "We think the file exists now!"
while ! tail -n 0 -f ./logs/DEPLOY.log | grep -q "Finished setting up the Neurobagel graph backend."; do
:
done
echo "Finished setting up the Neurobagel graph backend."
- name: Run end to end tests
uses: cypress-io/github-action@v6
with:
wait-on: http://localhost:3000
component: false
- name: Nightly failed, tell someone
if: ${{ failure() }}
run: |
curl -X POST -H 'Content-type: application/json' --data '{"text":"Neurobagel nightly version compatibility test failed!"}' ${{ secrets.NB_SLACK_WEBHOOK }}
- name: Clean up
working-directory: .
run: |
docker compose --profile full_stack down