Updates #5146
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 | |
# 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/[email protected] | |
with: | |
token: f259713a-7f1d-4e9c-b140-bb3bb371d3ef | |
file: ./coverage.xml | |
flags: unittests | |
name: codecov-umbrella | |
verbose: true | |
fail_ci_if_error: false |