Skip to content
Closed
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
63 changes: 11 additions & 52 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,55 +50,14 @@ env:


jobs:
build-osx:
runs-on: macos-13
# skip scheduled runs from forks
if: ${{ !( github.repository != 'ReactionMechanismGenerator/RMG-Py' && github.event_name == 'schedule' ) }}
defaults:
run:
shell: bash -l {0}
steps:
- name: Checkout RMG-Py
uses: actions/checkout@v4

# configures the mamba environment manager and builds the environment
- name: Setup Mambaforge Python 3.7
uses: conda-incubator/setup-miniconda@v3
with:
environment-file: environment.yml
miniforge-variant: Mambaforge
miniforge-version: latest
python-version: 3.7
activate-environment: rmg_env
use-mamba: true

# list the environment for debugging purposes
- name: mamba info
run: |
mamba info
mamba list

# Clone RMG-database
- name: Clone RMG-database
run: |
cd ..
git clone -b $RMG_DATABASE_BRANCH https://github.com/ReactionMechanismGenerator/RMG-database.git

# modify env variables as directed in the RMG installation instructions
- name: Set Environment Variables
run: |
RUNNER_CWD=$(pwd)
echo "PYTHONPATH=$RUNNER_CWD/RMG-Py:$PYTHONPATH" >> $GITHUB_ENV
echo "$RUNNER_CWD/RMG-Py" >> $GITHUB_PATH

# RMG build step
- name: make RMG
run: |
make clean
make

build-and-test-linux:
runs-on: ubuntu-latest
build-and-test:
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12"]
os: [macos-13, macos-latest, ubuntu-latest]
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }} Build and Test
# skip scheduled runs from forks
if: ${{ !( github.repository != 'ReactionMechanismGenerator/RMG-Py' && github.event_name == 'schedule' ) }}
env:
Expand All @@ -112,13 +71,13 @@ jobs:
uses: actions/checkout@v4

# configures the mamba environment manager and builds the environment
- name: Setup Mambaforge Python 3.7
- name: Setup Mambaforge Python ${{ matrix.python-version }}
uses: conda-incubator/setup-miniconda@v3
with:
environment-file: environment.yml
miniforge-variant: Mambaforge
miniforge-version: latest
python-version: 3.7
python-version: ${{ matrix.python-version }}
activate-environment: rmg_env
use-mamba: true

Expand Down Expand Up @@ -361,7 +320,7 @@ jobs:
# who knows ¯\_(ツ)_/¯
#
# taken from https://github.com/docker/build-push-action
needs: build-and-test-linux
needs: build-and-test
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main' && github.repository == 'ReactionMechanismGenerator/RMG-Py'
steps:
Expand Down
34 changes: 14 additions & 20 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
# made dependency list more explicit (@JacksonBurns).
# - October 16, 2023 Switched RDKit and descripatastorus to conda-forge,
# moved diffeqpy to pip and (temporarily) removed chemprop
# - March 15, 2024 - started migration to Python 3.11/2
#
name: rmg_env
channels:
Expand All @@ -42,9 +43,9 @@ dependencies:

# external software tools for chemistry
- coolprop
- cantera::cantera=2.6
- cantera::cantera >=3
- conda-forge::mopac
- conda-forge::cclib >=1.6.3,<1.8.0
- conda-forge::cclib >=1.6.3
- conda-forge::openbabel >= 3
- conda-forge::rdkit >=2022.09.1

Expand All @@ -53,11 +54,11 @@ dependencies:
- conda-forge::pyjulia >=0.6

# Python tools
- python >=3.7
- python =3.11
- coverage
- cython >=0.25.2
- scikit-learn
- scipy <1.11
- scipy
- numpy >=1.10.0
- pydot
- jinja2
Expand All @@ -68,31 +69,24 @@ dependencies:
- networkx
- pytest
- pytest-cov
# we use a the pytest-check plugin, which is on Conda and PyPI, but the
# version compatible with Python 3.7 is only on PyPI
# switch to the conda version after upgrading to 3.11
# - conda-forge::pytest-check
- pip
- pip:
- pytest-check
- conda-forge::pytest-check
- matplotlib >=1.5
- mpmath
- pandas
- conda-forge::gprof2dot
- conda-forge::numdifftools
- conda-forge::quantities
- conda-forge::muq
- conda-forge::lpsolve55
- conda-forge::ringdecomposerlib-python
# - conda-forge::ringdecomposerlib-python

# packages we maintain
- rmg::pydas >=1.0.3
- rmg::pydqed >=1.0.3
- rmg::pyrms
- rmg::symmetry
# # packages we maintain
# - rmg::pydas >=1.0.3
# - rmg::pydqed >=1.0.3
# - rmg::pyrms
# - rmg::symmetry

# packages we would like to stop maintaining (and why)
- rmg::diffeqpy
# # packages we would like to stop maintaining (and why)
# - rmg::diffeqpy
# we should use the official verison https://github.com/SciML/diffeqpy),
# rather than ours (which is only made so that we can get it from conda)
# It is only on pip, so we will need to do something like:
Expand Down