-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #156 from ReactionMechanismGenerator/py_v
Updated CI and env
- Loading branch information
Showing
7 changed files
with
228 additions
and
1,303 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,181 +1,181 @@ | ||
name: CI | ||
|
||
on: | ||
pull_request: | ||
branches: | ||
- main | ||
types: [opened, synchronize, reopened, ready_for_review, review_requested] | ||
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 | ||
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 | ||
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: 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/[email protected] | ||
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: 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 | ||
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 | ||
- 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 |
Oops, something went wrong.