-
Notifications
You must be signed in to change notification settings - Fork 0
190 lines (176 loc) · 5.51 KB
/
alphatesting.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
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
name: AlphaX cross-projects tests
on:
workflow_dispatch:
inputs:
alphabase_ref:
description: "alphabase version: version of alphabase to use. Can be a commit hash, branch name or 'latest' for the latest release."
default: latest
alphatims_ref:
description: "alphatims version"
default: latest
alpharaw_ref:
description: "alpharaw version"
default: development # TODO: change to latest once properly tagged release is out
alphaviz_ref:
description: "alphaviz version"
default: latest
alphapeptdeep_ref:
description: "alphapeptdeep version"
default: latest
directlfq_ref:
description: "alphatims version"
default: latest
alphadia_ref:
description: "alphadia version"
default: latest
jobs:
build_image:
runs-on: AlphaDIA
steps:
- name: Print input parameters
run: echo "${{ toJSON(github.event.inputs) }}"
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# # avoid "no space left on device" error
# # https://github.com/actions/runner-images/issues/2840#issuecomment-790492173
# - name: cleanup
# run: |
# sudo rm -rf /usr/share/dotnet
# sudo rm -rf /opt/ghc
# sudo rm -rf "/usr/local/share/boost"
# sudo rm -rf "$AGENT_TOOLSDIRECTORY"
- name: Build and export
uses: docker/build-push-action@v6
with:
tags: alphax:latest
context: ./alphatesting
outputs: type=docker,dest=/tmp/alphax.tar
# cache-from: type=gha
# cache-to: type=gha,mode=max
no-cache: True
build-args: |
ALPHABASE_REF=${{ inputs.alphabase_ref }}
ALPHATIMS_REF=${{ inputs.alphatims_ref }}
ALPHARAW_REF=${{ inputs.alpharaw_ref }}
ALPHAVIZ_REF=${{ inputs.alphaviz_ref }}
ALPHAPEPTDEEP_REF=${{ inputs.alphapeptdeep_ref }}
DIRECTLFQ_REF=${{ inputs.directlfq_ref }}
ALPHADIA_REF=${{ inputs.alphadia_ref }}
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: alphax
path: /tmp/alphax.tar
alphabase_tests:
runs-on: AlphaDIA
needs: [ build_image ]
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: alphax
path: /tmp
- name: Load image
run: |
docker load --input /tmp/alphax.tar
docker image ls -a
- name: Print pip freeze
run: |
docker run alphax bash -c "pip freeze"
- name: alphabase tests
id: alphabase_tests
run: |
docker run alphax bash -c "cd alphabase/tests && chmod +x run_tests.sh && ./run_tests.sh"
alpharaw_tests:
runs-on: AlphaDIA
needs: [ build_image ]
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: alphax
path: /tmp
- name: Load image
run: |
docker load --input /tmp/alphax.tar
docker image ls -a
- name: Print pip freeze
run: |
docker run alphax bash -c "pip freeze"
- name: alpharaw tests
id: alpharaw_tests
run: |
docker run alphax bash -c "cd alpharaw/tests && ls && python -m download_test_data && chmod +x run_tests.sh && ./run_tests.sh"
alphaviz_tests:
runs-on: AlphaDIA
needs: [ build_image ]
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: alphax
path: /tmp
- name: Load image
run: |
docker load --input /tmp/alphax.tar
docker image ls -a
- name: Print pip freeze
run: |
docker run alphax bash -c "pip freeze"
- name: alphaviz tests
id: alphaviz_tests
run: |
docker run alphax bash -c "cd alphaviz/tests && ls && python -m pytest test_io.py && python -m pytest test_preprocessing.py"
alphapeptdeep_tests:
runs-on: AlphaDIA
needs: [ build_image ]
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: alphax
path: /tmp
- name: Load image
run: |
docker load --input /tmp/alphax.tar
docker image ls -a
- name: Print pip freeze
run: |
docker run alphax bash -c "pip freeze"
- name: alphapeptdeep tests
id: alphapeptdeep_tests
run: |
docker run alphax bash -c "cd alphapeptdeep/tests && chmod +x run_tests.sh && ./run_tests.sh"
alphadia_tests:
runs-on: AlphaDIA
needs: [ build_image ]
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: alphax
path: /tmp
- name: Load image
run: |
docker load --input /tmp/alphax.tar
docker image ls -a
- name: Print pip freeze
run: |
docker run alphax bash -c "pip freeze"
- name: alphadia unit tests ('not slow')
id: alphadia_unit_tests
run: |
docker run alphax bash -c "cd alphadia/tests && python -m pytest -k 'not slow'"
- name: alphadia unit tests ('slow')
id: alphadia_slow_unit_tests
run: |
docker run alphax bash -c "cd alphadia/tests && python -m pytest -k 'slow'"
- name: alphadia e2e test 'basic'
id: alphadia_e2e_tests
run: |
TEST_CASE_NAME=basic
docker run alphax bash -c "cd alphadia/tests/e2e_tests \
&& python prepare_test_data.py $TEST_CASE_NAME \
&& alphadia --config $TEST_CASE_NAME/config.yaml"