level tests update #4660
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 ARC | |
uses: actions/[email protected] | |
- 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/[email protected] | |
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/[email protected] | |
with: | |
repository: ReactionMechanismGenerator/RMG-Py | |
path: RMG-Py | |
ref: main | |
fetch-depth: 1 | |
- name: Cache RMG-database | |
id: cache-rmg-db | |
uses: actions/[email protected] | |
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/[email protected] | |
with: | |
repository: ReactionMechanismGenerator/RMG-database | |
path: RMG-database | |
ref: main | |
fetch-depth: 1 | |
- name: Cache AutoTST | |
id: cache-autotst | |
uses: actions/[email protected] | |
with: | |
path: AutoTST | |
key: ${{ runner.os }}-autotst-main | |
restore-keys: | | |
${{ runner.os }}-autotst- | |
- name: Checkout AutoTST | |
if: steps.cache-autotst.outputs.cache-hit != 'true' | |
uses: actions/[email protected] | |
with: | |
repository: ReactionMechanismGenerator/AutoTST | |
path: AutoTST | |
ref: main | |
fetch-depth: 1 | |
- name: Cache TS-GCN | |
id: cache-tsgcn | |
uses: actions/[email protected] | |
with: | |
path: TS-GCN | |
key: ${{ runner.os }}-tsgcn-main | |
restore-keys: | | |
${{ runner.os }}-tsgcn- | |
- name: Checkout TS-GCN | |
if: steps.cache-tsgcn.outputs.cache-hit != 'true' | |
uses: actions/[email protected] | |
with: | |
repository: ReactionMechanismGenerator/TS-GCN | |
path: TS-GCN | |
ref: main | |
fetch-depth: 1 | |
- name: Cache KinBot | |
id: cache-kinbot | |
uses: actions/[email protected] | |
with: | |
path: KinBot | |
key: ${{ runner.os }}-kinbot-2.0.6 | |
restore-keys: | | |
${{ runner.os }}-kinbot- | |
- name: Checkout Kinbot 2.0.6 | |
if: steps.cache-kinbot.outputs.cache-hit != 'true' | |
uses: actions/[email protected] | |
with: | |
repository: zadorlab/KinBot | |
path: KinBot | |
ref: v2.0.6 | |
fetch-depth: 1 | |
- name: Cache Packages | |
uses: actions/[email protected] | |
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/[email protected] | |
with: | |
miniforge-variant: Mambaforge | |
miniforge-version: latest | |
activate-environment: arc_env | |
use-mamba: true | |
- name: Cache ARC env | |
uses: actions/[email protected] | |
with: | |
path: ${{ env.CONDA }}/envs/arc_env | |
key: conda-${{ runner.os }}--${{ runner.arch }}-arcenv-${{ env.CACHE_NUMBER}}-${{ hashFiles('environment.yml') }} | |
env: | |
# Increase this value to reset cache if etc/example-environment.yml has not changed | |
CACHE_NUMBER: 0 | |
id: cache-arc-env | |
- name: Update environment | |
run: mamba env update -n arc_env -f environment.yml | |
if: steps.cache-arc-env.outputs.cache-hit != 'true' | |
- name: Install codecov | |
run: mamba install -y -c conda-forge codecov | |
- name: Cythonize RMG-Py | |
run: | | |
cd RMG-Py | |
echo 'export PYTHONPATH=$PYTHONPATH:'"$(pwd)" >> $GITHUB_ENV | |
echo 'export PATH=$PATH:'"$(pwd)" >> $GITHUB_ENV | |
echo 'export PYTHONPATH=$PYTHONPATH:'"$(pwd)" >> ~/.bashrc | |
echo 'export PATH=$PATH:'"$(pwd)" >> ~/.bashrc | |
make | |
cd .. | |
- name: Set ARC Path | |
run: | | |
echo 'export PYTHONPATH=$PYTHONPATH:'"$(pwd)" >> $GITHUB_ENV | |
echo 'export PATH=$PATH:'"$(pwd)" >> $GITHUB_ENV | |
echo 'export PYTHONPATH=$PYTHONPATH:'"$(pwd)" >> ~/.bashrc | |
echo 'export PATH=$PATH:'"$(pwd)" >> ~/.bashrc | |
- name: Install AutoTST | |
run: | | |
cd AutoTST | |
echo 'export PYTHONPATH=$PYTHONPATH:'"$(pwd)" >> $GITHUB_ENV | |
echo 'export PATH=$PATH:'"$(pwd)" >> $GITHUB_ENV | |
echo 'export PYTHONPATH=$PYTHONPATH:'"$(pwd)" >> ~/.bashrc | |
echo 'export PATH=$PATH:'"$(pwd)" >> ~/.bashrc | |
mamba env create -f environment.yml | |
mamba install -n tst_env -c anaconda yaml -y | |
cd .. | |
- name: Install TS-GCN | |
run: | | |
cd TS-GCN | |
echo 'export PYTHONPATH=$PYTHONPATH:'"$(pwd)" >> $GITHUB_ENV | |
echo 'export PATH=$PATH:'"$(pwd)" >> $GITHUB_ENV | |
echo 'export PYTHONPATH=$PYTHONPATH:'"$(pwd)" >> ~/.bashrc | |
echo 'export PATH=$PATH:'"$(pwd)" >> ~/.bashrc | |
bash devtools/create_env_cpu.sh | |
mamba env update -n ts_gcn -f environment.yml | |
cd .. | |
- name: Install KinBot | |
run: | | |
cd KinBot | |
conda activate arc_env | |
echo 'export PYTHONPATH=$PYTHONPATH:'"$(pwd)" >> $GITHUB_ENV | |
echo 'export PATH=$PATH:'"$(pwd)" >> $GITHUB_ENV | |
echo 'export PYTHONPATH=$PYTHONPATH:'"$(pwd)" >> ~/.bashrc | |
echo 'export PATH=$PATH:'"$(pwd)" >> ~/.bashrc | |
python setup.py build | |
python setup.py install | |
cd .. | |
- name: Install OpenBabel | |
run: | | |
mamba env create -f devtools/ob_environment.yml | |
- name: Install Sella | |
run: | | |
mamba env create -f devtools/sella_environment.yml | |
- name: Install Torch Ani | |
run: | | |
mamba env create -f devtools/tani_environment.yml | |
- name: Install XTB | |
run: | | |
mamba env create -f devtools/xtb_environment.yml | |
- name: Test with pytest | |
shell: bash -el {0} | |
run: | | |
source ~/.bashrc | |
conda activate arc_env | |
make test | |
codecov --token=f259713a-7f1d-4e9c-b140-bb3bb371d3ef | |
- name: Functional Test | |
run: | | |
source ~/.bashrc | |
conda activate arc_env | |
make test-functional | |
- name: Code Coverage | |
uses: codecov/[email protected] | |
with: | |
token: f259713a-7f1d-4e9c-b140-bb3bb371d3ef | |
file: ./coverage.xml | |
flags: unittests | |
name: codecov-umbrella | |
verbose: true | |
fail_ci_if_error: true |