Updated cache CI to create more space #935
Workflow file for this run
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: | |
pull_request: | |
branches: | |
- main | |
types: [opened, synchronize, reopened, ready_for_review, review_requested] | |
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 | |
id: cache-rmg | |
uses: actions/cache@v2 | |
with: | |
path: RMG-Py | |
key: ${{ runner.os }}-rmg-main | |
restore-keys: | | |
${{ runner.os }}-rmg- | |
- name: Debug RMG Cache | |
run: | | |
echo "cache hit: ${{ steps.cache-rmg.outputs.cache-hit }}" | |
- name: Checkout RMG | |
if: steps.cache-rmg.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: main | |
fetch-depth: 1 | |
- name: Cache Conda Packages | |
uses: actions/cache@v2 | |
env: | |
CACHE_NUMBER: 0 | |
with: | |
path: ~/conda_pkgs_dir | |
key: | |
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{ hashFiles('environment.yml') }}-t3 | |
- name: Setup RMG-Py Env | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
miniforge-variant: Mambaforge | |
miniforge-version: latest | |
activate-environment: rmg_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: 1 | |
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 | |
make clean | |
make | |
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 RMS Julia | |
run: julia -e 'using Pkg; Pkg.add(PackageSpec(name="PyCall",rev="master"));Pkg.build("PyCall");Pkg.add(PackageSpec(name="ReactionMechanismSimulator",rev="main")); using ReactionMechanismSimulator;' | |
- name: Install PyCall RMG_ENV | |
run: python -c "import julia; julia.install(); import diffeqpy; diffeqpy.install()" | |
- name: Install ARC ENV | |
run: | | |
cd ARC | |
mamba env create -f environment.yml | |
conda activate arc_env | |
echo "export arc_path=$(pwd)" >> $GITHUB_ENV | |
echo "PYTHONPATH=$(pwd):$PYTHONPATH" >> $GITHUB_ENV | |
echo "PATH=$(pwd):$PATH" >> $GITHUB_ENV | |
echo "PYTHONPATH=$(pwd):$PYTHONPATH" >> ~/.bashrc | |
echo "PATH=$(pwd):$PATH" >> ~/.bashrc | |
echo "export arc_path=$(pwd)" >> ~/.bashrc | |
cd .. | |
- 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 |