Skip to content

CI

CI #1174

Workflow file for this run

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