forked from deepchem/deepchem
-
Notifications
You must be signed in to change notification settings - Fork 0
139 lines (138 loc) · 5.01 KB
/
torch_setup.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
name: Test for DeepChem Torch
on:
push: # ci work when pushing master branch
branches:
- master
pull_request: # ci work when creating a PR to master branch
branches:
- master
jobs:
torch-build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ['3.8', '3.10', '3.11']
include:
- os: windows-latest
python-version: 3.9
steps:
- uses: actions/checkout@v4
- name: Cache pip modules for Linux
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/torch/**') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Build DeepChem
run: |
python -m pip install --upgrade pip
pip install -e '.[torch]'
- name: Import checking
run: python -c "import deepchem; import torch;"
torch-tests:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ['3.8', '3.10', '3.11']
include:
- os: windows-latest
python-version: '3.9'
env:
OS: ${{ matrix.os }}
PYTHON_VERSION: ${{ matrix.python-version }}
steps:
- name: Maximize build space
if: matrix.os == 'ubuntu-latest'
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
sudo rm -rf /usr/local/lib/android
- uses: actions/checkout@v4
with:
fetch-depth: 0
# https://github.com/galaxyproject/tools-iuc/blob/master/.github/workflows/pr.yaml
# The range of commits to check for changes is:
# - for events on the master branch we compare against the sha before the event
# (note that this does not work for feature branch events since we want all
# commits on the feature branch and not just the commits of the last event)
# - for pull requests we compare against the 1st ancestor, given the current
# HEAD is the merge between the PR branch and the base branch
- name: Set commit range (push to the master branch, e.g. merge)
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
run: echo "COMMIT_RANGE=${{ github.event.before }}.." >> $GITHUB_ENV
- name: Set commit range (pull request)
if: github.event_name == 'pull_request'
run: |
git fetch origin master
echo "COMMIT_RANGE=origin/master..." >> $GITHUB_ENV
- name: Cache pip packages for Linux
if: runner.os == 'Linux'
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/torch/**') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Cache pip packages for MacOS
if: runner.os == 'macOS'
uses: actions/cache@v4
with:
path: ~/Library/Caches/pip
key: ${{ matrix.os }}-pip-${{ hashFiles('requirements/torch/**') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Cache pip packages for Windows
if: runner.os == 'Windows'
uses: actions/cache@v4
with:
path: ~\AppData\Local\pip\Cache
key: ${{ matrix.os }}-pip-${{ hashFiles('requirements/torch/**') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Create env.yml for python 3.9+
shell: bash
if: ${{ matrix.python-version != '3.8' }}
run: |
python -m pip install --upgrade pip;
pip install conda-merge;
conda-merge requirements/env_common.yml requirements/torch/env_torch.cpu.yml requirements/env_test.yml > env.yml
- name: Create env.yml for python 3.8
shell: bash
# A special case of environment creation for python 3.8 which includes an older version of matminer
if: ${{ matrix.python-version == '3.8' }}
run: |
python -m pip install --upgrade pip;
pip install conda-merge;
conda-merge requirements/env_common_3_8.yml requirements/torch/env_torch.cpu.yml requirements/env_test.yml > env.yml
- name: Install all dependencies
uses: conda-incubator/setup-miniconda@v3
with:
miniconda-version: "latest"
auto-update-conda: true
activate-environment: deepchem
channels: conda-forge,defaults
python-version: ${{ matrix.python-version }}
environment-file: env.yml
- name: Install DeepChem
id: install
shell: bash -l {0}
run: pip install -e .
- name: PyTest
if: ${{ (success() || failure()) && (steps.install.outcome == 'failure' || steps.install.outcome == 'success') }}
shell: bash -l {0}
run: pytest -v -m 'torch' deepchem