CI #1126
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 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 |