-
Notifications
You must be signed in to change notification settings - Fork 9
63 lines (62 loc) · 2.29 KB
/
tutorial-tests.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
name: Test Tutorial
# following example: https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
on:
workflow_run:
workflows: ["Unit tests"]
types:
- completed
jobs:
test-tutorial:
if: >
github.event.workflow_run.event == 'pull_request' &&
github.event.workflow_run.conclusion == 'success'
runs-on: [self-hosted, linux, x64, gpu]
container:
image: continuumio/miniconda3
options: --runtime=nvidia --gpus all
permissions:
# Read the action that triggered this one
actions: read
# Allow to write check runs
checks: write
# Read and update commit statuses
statuses: write
steps:
- name: Pull code
uses: actions/checkout@v4
with:
repository: github.event.workflow_run.head_repository
ref: github.event.workflow_run.head_sha
- name: Pull wiki
uses: actions/checkout@v4
with:
# Only check the wiki of the calling repo
repository: ${{github.repository}}.wiki
path: wiki
- name: Install dependencies, code, and list everything
run: |
conda install -y -c conda-forge python=3 cupy cuda-version=11.8
python -m pip install coverage mdextractor #mdextractor is new and might need to be replaced later
python -m pip install .[dev]
conda list
- name: Grab files needed for tests
run: |
mkdir wiki/dataset
mkdir wiki/templates
mkdir wiki/results_80S
mkdir wiki/results_60S
cd wiki/templates
cp ../data/6qzp_60S wiki/templates/
curl https://files.wwpdb.org/pub/emdb/structures/EMD-2938/map/emd_2938.map.gz -o emd_2938.map.gz
gunzip emd_2938.map.gz
mv emd_2938.map emd_2938.mrc
cd ../dataset
curl -L -O -J -H "X-Dataverse-key:${{ secrets.DATAVERSE_API_TOKEN }}" https://dataverse.nl/api/access/datafiles/384731,384724,384706,384718
unzip dataverse_files.zip
mv tutorial/* .
cd ../
- name: Run Tutorial test
run: |
# Hardcode the conversion line
for x in dataset/*.mrc; do python -c "import mrcfile; mrc = mrcfile.mmap('$x', 'r+'); mrc.voxel_size = 13.79"; done
python tests/test_tutorial.py