CI #6124
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/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 AutoTST | |
id: cache-autotst | |
uses: actions/cache@v2 | |
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/checkout@v3 | |
with: | |
repository: ReactionMechanismGenerator/AutoTST | |
path: AutoTST | |
ref: main | |
fetch-depth: 1 | |
- name: Cache TS-GCN | |
id: cache-tsgcn | |
uses: actions/cache@v2 | |
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/checkout@v3 | |
with: | |
repository: ReactionMechanismGenerator/TS-GCN | |
path: TS-GCN | |
ref: main | |
fetch-depth: 1 | |
- name: Cache KinBot | |
id: cache-kinbot | |
uses: actions/cache@v2 | |
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/checkout@v3 | |
with: | |
repository: zadorlab/KinBot | |
path: KinBot | |
ref: v2.0.6 | |
fetch-depth: 1 | |
- 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 ARC env | |
uses: actions/cache@v2 | |
with: | |
path: ${{ env.CONDA }}/envs/arc_env | |
key: conda-${{ runner.os }}--${{ runner.arch }}-arcenv-${{ env.CACHE_NUMBER}} | |
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 | |
# install pyaml | |
mamba install -n tst_env -c conda-forge -y pyyaml | |
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 | |
# Wait ten seconds before running the next step | |
- name: Wait | |
run: sleep 10 | |
- name: Code Coverage | |
uses: codecov/codecov-action@v3 | |
with: | |
token: f259713a-7f1d-4e9c-b140-bb3bb371d3ef | |
file: ./coverage.xml | |
flags: unittests | |
name: codecov-umbrella | |
verbose: true | |
fail_ci_if_error: false |