Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated CI and env #156

Merged
merged 3 commits into from
Jul 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
350 changes: 175 additions & 175 deletions .github/workflows/cont_int.yml
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
Loading
Loading