-
Notifications
You must be signed in to change notification settings - Fork 9
55 lines (53 loc) · 1.93 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
name: Test Tutorial
# following example: https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
on:
push:
branches:
- main
- test_tutorial
tags:
- "[0-9]+.[0-9]+.[0-9]+"
schedule:
# Weekly on saturday 23:59
- cron: "59 23 * * 6"
jobs:
test-tutorial:
runs-on: [self-hosted, linux, x64, gpu]
container:
image: continuumio/miniconda3
options: --runtime=nvidia --gpus all
defaults:
run:
working-directory: ./docs/tutorials
steps:
- name: Pull code
uses: actions/checkout@v4
- name: Install dependencies, code, and list everything
working-directory: ./
run: |
conda install -y -c conda-forge python=3 cupy cuda-version=11.8 curl unzip
python -m pip install coverage mdextractor #mdextractor is new and might need to be replaced later
python -m pip install .[all]
conda list
- name: Grab files needed for tests
run: |
mkdir dataset
mkdir templates
mkdir results_80S
mkdir results_60S
cd templates
cp ../data/6qzp_60S.mrc .
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
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
# this inflates into a 'tutorial' folder, moving everything out
mv tutorial/* .
- name: Set TQDM_MININTERVAL
run: echo "TQDM_MININTERVAL=10" >> "$GITHUB_ENV"
- 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 -u tests/test_tutorial.py