Server Running CREST #6302
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: Set up miniconda | |
uses: conda-incubator/setup-miniconda@v3 | |
with: | |
auto-update-conda: true | |
environment-file: environment.yml | |
activate-environment: arc_env | |
miniconda-version: latest | |
conda-solver: libmamba | |
- 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: conda env update -n arc_env -f environment.yml | |
if: steps.cache-arc-env.outputs.cache-hit != 'true' | |
- name: Install codecov | |
run: conda install --force-reinstall ld_impl_linux-64 -y && conda 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 | |
conda env create -f environment.yml | |
# install pyaml | |
conda 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 | |
conda 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: | | |
conda env create -f devtools/ob_environment.yml | |
- name: Install Sella | |
run: | | |
conda env create -f devtools/sella_environment.yml | |
- name: Install Torch Ani | |
run: | | |
conda env create -f devtools/tani_environment.yml | |
- name: Install XTB | |
run: | | |
conda 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 |