-
Notifications
You must be signed in to change notification settings - Fork 5
181 lines (161 loc) · 4.98 KB
/
cont_int.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
name: CI
on:
push:
branches:
- '*'
pull_request:
branches:
- main
types: [opened, synchronize, reopened, ready_for_review, review_requested]
schedule:
- cron: '0 0 * * *'
jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
shell: bash -el {0}
steps:
- name: Checkout T3
uses: actions/checkout@v3
- name: Clean Ubuntu Image
uses: kfir4444/free-disk-space@main
with:
# This may remove tools actually needed - currently does not
tool-cache: true
android: true
dotnet: true
haskell: true
large-packages: true
swap-storage: true
- name: Cache RMG-Py
id: cache-rmg-py
uses: actions/cache@v2
with:
path: RMG-Py
key: ${{ runner.os }}-rmg-main
restore-keys: |
${{ runner.os }}-rmg-
- name: Checkout RMG-py
if: steps.cache-rmg-py.outputs.cache-hit != 'true'
uses: actions/checkout@v3
with:
repository: ReactionMechanismGenerator/RMG-Py
path: RMG-Py
ref: main
fetch-depth: 1
- name: Cache RMG-database
id: cache-rmg-db
uses: actions/cache@v2
with:
path: RMG-database
key: ${{ runner.os }}-rmgdb-main
restore-keys: |
${{ runner.os }}-rmgdb-
- name: Checkout RMG-database
if: steps.cache-rmg-db.outputs.cache-hit != 'true'
uses: actions/checkout@v3
with:
repository: ReactionMechanismGenerator/RMG-database
path: RMG-database
ref: main
fetch-depth: 1
- name: Cache ARC
id: cache-arc
uses: actions/cache@v2
with:
path: ARC
key: ${{ runner.os }}-arc-main
restore-keys: |
${{ runner.os }}-arc-
- name: Checkout ARC
if: steps.cache-arc.outputs.cache-hit != 'true'
uses: actions/checkout@v3
with:
repository: ReactionMechanismGenerator/ARC
path: ARC
ref: no_ase
fetch-depth: 1
- name: Setup ARC paths
run: |
cd ARC
echo "PYTHONPATH=$(pwd):$PYTHONPATH" >> $GITHUB_ENV
echo "PATH=$(pwd):$PATH" >> $GITHUB_ENV
echo "export arc_path=$(pwd)" >> $GITHUB_ENV
echo "PYTHONPATH=$(pwd):$PYTHONPATH" >> ~/.bashrc
echo "PATH=$(pwd):$PATH" >> ~/.bashrc
echo "export arc_path=$(pwd)" >> ~/.bashrc
- name: Cache Packages
uses: actions/cache@v2
env:
CACHE_NUMBER: 0
with:
path: ~/conda_pkgs_dir
key:
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{ hashFiles('environment.yml') }}
- name: Setup ARC Env
uses: conda-incubator/setup-miniconda@v2
with:
miniforge-variant: Mambaforge
miniforge-version: latest
activate-environment: arc_env
use-mamba: true
- name: Cache RMG-Py env
uses: actions/cache@v2
with:
path: ${{ env.CONDA }}/envs/rmg_env
key:
conda-${{ runner.os }}--${{ runner.arch }}-rmgpyenv-${{ env.CACHE_NUMBER}}
env:
# Increase this value to reset cache if etc/example-environment.yml has not changed
CACHE_NUMBER: 3
id: cache-rmgpy-env
- name: Update environment
run: mamba env update -n rmg_env -f RMG-Py/environment.yml
if: steps.cache-rmgpy-env.outputs.cache-hit != 'true'
- name: Cythonize RMG-Py
run: |
cd RMG-Py
conda activate rmg_env
git fetch origin no_qm
git checkout no_qm
make clean
make
julia -e 'using Pkg; Pkg.add("PyCall");Pkg.build("PyCall");Pkg.add(PackageSpec(name="ReactionMechanismSimulator",rev="main")); using ReactionMechanismSimulator;'
python -c "import julia; julia.install(); import diffeqpy; diffeqpy.install()"
echo "PYTHONPATH=$(pwd):$PYTHONPATH" >> $GITHUB_ENV
echo "PATH=$(pwd):$PATH" >> $GITHUB_ENV
echo "export rmgpy_path=$(pwd)" >> $GITHUB_ENV
echo "PYTHONPATH=$(pwd):$PYTHONPATH" >> ~/.bashrc
echo "PATH=$(pwd):$PATH" >> ~/.bashrc
echo "export rmgpy_path=$(pwd)" >> ~/.bashrc
- name: Install xtb
run: |
mamba create -n xtb_env python=3.7 -c conda-forge -y
conda activate xtb_env
mamba install -c conda-forge xtb=6.3.3 -y
mamba install -c anaconda pyyaml -y
- name: Install T3
run: |
mamba env create -f environment.yml
- name: Install CodeCov
run: |
conda activate t3_env
mamba install -c conda-forge codecov
mamba install -c conda-forge pytest-cov
- name: Run T3 Tests
shell: bash -el {0}
run: |
source ~/.bashrc
conda activate t3_env
make test
codecov --token=${{ secrets.CODECOV_TOKEN }}
- name: Code Coverage
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
flags: unittests
name: codecov-umbrella
verbose: true
fail_ci_if_error: true