Skip to content
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
6 changes: 0 additions & 6 deletions .conda/build.sh

This file was deleted.

8 changes: 0 additions & 8 deletions .conda/conda_build_config.yaml

This file was deleted.

225 changes: 163 additions & 62 deletions .conda/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,84 +1,185 @@
# For conda build
# meta.yaml
#
# welcome to meta.yaml, poor soul that you are. this file specifies the 'recipe' for compiling
# RMG-Py into binaries which can then be uploaded for access via the conda package manager
# to use this file, you can follow the procedure shown in .github/workflows/conda_build.yml
#
package:
name: rmg
version: 3.2.0
version: 3.3.0

source:
path: ../

build:
number: {{ environ.get('GIT_DESCRIBE_NUMBER', 0) }}
number: 0
script: |
python utilities.py check-pydas # write the rmgpy/solver/settings.pxi file
python setup.py install --single-version-externally-managed --record=record.txt

requirements:
build:
- {{ compiler('c') }} # [unix]
- {{ compiler('c') }}
host:
- cython >=0.25.2
- numpy
- openbabel >=3
- pydas >=1.0.2
- pydqed >=1.0.1
- pyrdl
- python
- quantities
- rdkit >=2018
- scipy
- setuptools
- conda-forge::cairo
- conda-forge::cairocffi
- conda-forge::ffmpeg >=7
- conda-forge::xlrd
- conda-forge::xlwt
- conda-forge::h5py
- conda-forge::graphviz >=12
- conda-forge::markupsafe
- conda-forge::psutil
- conda-forge::ncurses
- conda-forge::suitesparse
- conda-forge::graphviz
- conda-forge::pyopenssl >20
- conda-forge::coolprop
- conda-forge::cantera =2.6
- conda-forge::mopac
- conda-forge::cclib >=1.6.3,<1.9
- conda-forge::openbabel >=3
- conda-forge::rdkit >=2022.09.1
- conda-forge::python >=3.9
- conda-forge::setuptools <80
- conda-forge::coverage
- conda-forge::cython >=0.25.2,<3.1
- conda-forge::scikit-learn
- conda-forge::scipy >=1.9
- conda-forge::numpy >=1.10.0,<2
- conda-forge::pydot
- conda-forge::jinja2
- conda-forge::jupyter
- conda-forge::pymongo
- conda-forge::pyparsing
- conda-forge::pyyaml
- conda-forge::networkx
- conda-forge::pytest
- conda-forge::pytest-cov
- conda-forge::pytest-check
- conda-forge::pyutilib
- conda-forge::matplotlib >=1.5
- conda-forge::mpmath
- conda-forge::pandas
- conda-forge::gprof2dot
- conda-forge::numdifftools
- conda-forge::quantities !=0.16.0,!=0.16.1
- conda-forge::ringdecomposerlib-python
- rmg::pydas >=1.0.3
- rmg::pydqed >=1.0.3
- rmg::symmetry
- rmg::rmgdatabase =3.3.0
- blas=*=openblas
run:
- cairo
- cairocffi
- cantera >=2.3.0
- cclib >=1.6.3
- coolprop
- coverage
- cython >=0.25.2
- ffmpeg
- gprof2dot
- graphviz
- h5py
- jinja2
- jupyter
- markupsafe
- matplotlib >=1.5
- mopac
- mpmath
- muq2
- networkx
- nose
- numdifftools
- {{ pin_compatible('numpy') }}
- openbabel >=3
- pandas
- psutil
- pydas >=1.0.2
- pydot
- pydqed >=1.0.1
- pymongo
- pyparsing
- pyrdl
- python
- pyyaml
- pyzmq
- quantities
- rdkit >=2018
- rmgdatabase >=3.2.0
- scikit-learn
- scipy
- symmetry
- xlrd
- xlwt
- conda-forge::cairo
- conda-forge::cairocffi
- conda-forge::ffmpeg >=7
- conda-forge::xlrd
- conda-forge::xlwt
- conda-forge::h5py
- conda-forge::graphviz >=12
- conda-forge::markupsafe
- conda-forge::psutil
- conda-forge::ncurses
- conda-forge::suitesparse
- conda-forge::graphviz
- conda-forge::pyopenssl >20
- conda-forge::coolprop
- conda-forge::cantera =2.6
- conda-forge::mopac
- conda-forge::cclib >=1.6.3,<1.9
- conda-forge::openbabel >=3
- conda-forge::rdkit >=2022.09.1
- conda-forge::python >=3.9
- conda-forge::setuptools <80
- conda-forge::coverage
- conda-forge::cython >=0.25.2,<3.1
- conda-forge::scikit-learn
- conda-forge::scipy >=1.9
- conda-forge::numpy >=1.10.0,<2
- conda-forge::pydot
- conda-forge::jinja2
- conda-forge::jupyter
- conda-forge::pymongo
- conda-forge::pyparsing
- conda-forge::pyyaml
- conda-forge::networkx
- conda-forge::pytest
- conda-forge::pytest-cov
- conda-forge::pytest-check
- conda-forge::pyutilib
- conda-forge::matplotlib >=1.5
- conda-forge::mpmath
- conda-forge::pandas
- conda-forge::gprof2dot
- conda-forge::numdifftools
- conda-forge::quantities !=0.16.0,!=0.16.1
- conda-forge::ringdecomposerlib-python
- rmg::pydas >=1.0.3
- rmg::pydqed >=1.0.3
- rmg::symmetry
- rmg::rmgdatabase =3.3.0
- blas=*=openblas
test:
requires:
- conda-forge::cairo
- conda-forge::cairocffi
- conda-forge::ffmpeg >=7
- conda-forge::xlrd
- conda-forge::xlwt
- conda-forge::h5py
- conda-forge::graphviz >=12
- conda-forge::markupsafe
- conda-forge::psutil
- conda-forge::ncurses
- conda-forge::suitesparse
- conda-forge::graphviz
- conda-forge::pyopenssl >20
- conda-forge::coolprop
- conda-forge::cantera =2.6
- conda-forge::mopac
- conda-forge::cclib >=1.6.3,<1.9
- conda-forge::openbabel >=3
- conda-forge::rdkit >=2022.09.1
- conda-forge::python >=3.9
- conda-forge::setuptools <80
- conda-forge::coverage
- conda-forge::cython >=0.25.2,<3.1
- conda-forge::scikit-learn
- conda-forge::scipy >=1.9
- conda-forge::numpy >=1.10.0,<2
- conda-forge::pydot
- conda-forge::jinja2
- conda-forge::jupyter
- conda-forge::pymongo
- conda-forge::pyparsing
- conda-forge::pyyaml
- conda-forge::networkx
- conda-forge::pytest
- conda-forge::pytest-cov
- conda-forge::pytest-check
- conda-forge::pyutilib
- conda-forge::matplotlib >=1.5
- conda-forge::mpmath
- conda-forge::pandas
- conda-forge::gprof2dot
- conda-forge::numdifftools
- conda-forge::quantities !=0.16.0,!=0.16.1
- conda-forge::ringdecomposerlib-python
- rmg::pydas >=1.0.3
- rmg::pydqed >=1.0.3
- rmg::symmetry
- rmg::rmgdatabase =3.3.0
- blas=*=openblas
source_files:
- 'examples/rmg/superminimal'
- 'examples/arkane/networks/n-butanol'
- 'examples/arkane/networks/n-butanol_msc'
imports:
- rmgpy
- arkane
commands:
- rmg.py examples/rmg/superminimal/input.py # [unix]
- Arkane.py examples/arkane/networks/n-butanol/input.py # [unix]
- python %SCRIPTS%\rmg.py examples\rmg\superminimal\input.py # [win]
- python %SCRIPTS\Arkane.py examples\arkane\networks\n-butanol\input.py # [win]
- rmg.py examples/rmg/superminimal/input.py
- Arkane.py examples/arkane/networks/n-butanol_msc/input.py

about:
home: https://github.com/ReactionMechanismGenerator/RMG-Py
Expand Down
90 changes: 49 additions & 41 deletions .github/workflows/conda_build.yml
Original file line number Diff line number Diff line change
@@ -1,58 +1,66 @@
name: Conda Build

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

on:
pull_request:
workflow_dispatch:
push:
branches:
- stable
jobs:
build-linux:
runs-on: ubuntu-latest
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-13, macos-latest]
numpy-version: ["1.26"]
python-version: ["3.9"]
runs-on: ${{ matrix.os }}
name: Build ${{ matrix.os }} Python ${{ matrix.python-version }} Numpy ${{ matrix.numpy-version }}
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v2
- uses: conda-incubator/setup-miniconda@v2
- uses: actions/checkout@v4

- name: Setup Miniforge
uses: conda-incubator/setup-miniconda@v3
with:
environment-file: environment.yml
python-version: 3.7
activate-environment: rmg_env
- name: Conda info
miniforge-variant: Miniforge3
miniforge-version: latest
auto-update-conda: true
show-channel-urls: true
conda-remove-defaults: "true"
auto-activate-base: "true"
activate-environment: ""

- name: Install Build Tools
run: conda install python anaconda-client conda-build

- name: Configure Auto-Upload
if: github.ref == 'refs/heads/stable'
run: |
conda info
conda list
conda config --set anaconda_upload yes

- name: Build Binary
env:
CONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
run: |
conda install -y conda-build
conda install -y anaconda-client
# set a default value to the conda_token if needed (like from forks)
: "${CONDA_TOKEN:=${{ secrets.ANACONDA_TOKEN }}}"
: "${CONDA_TOKEN:=default_value}"
echo "CONDA_TOKEN=$CONDA_TOKEN" >> $GITHUB_ENV
conda config --add channels rmg
conda config --set anaconda_upload yes
conda build --token $CONDA_TOKEN --user rmg .conda
build-osx:
runs-on: macos-latest
defaults:
run:
shell: bash -l {0}
conda config --add channels conda-forge
CONDA_NPY=${{ matrix.numpy-version }} CONDA_PY=${{ matrix.python-version }} conda build --token $CONDA_TOKEN --user rmg .

result:
if: ${{ always() }}
runs-on: ubuntu-latest
name: Final Results
needs: [build]
steps:
- uses: actions/checkout@v2
- uses: conda-incubator/setup-miniconda@v2
with:
environment-file: environment.yml
python-version: 3.7
activate-environment: rmg_env
- name: Conda info
run: |
conda info
conda list
- name: Build Binary
env:
CONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
run: |
conda install -y conda-build
conda install -y anaconda-client
conda config --add channels rmg
conda config --set anaconda_upload yes
xcrun --show-sdk-path
conda build --token $CONDA_TOKEN --user rmg .conda
- run: exit 1
# see https://github.com/orgs/community/discussions/26822?sort=new#discussioncomment-8285141
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}
Loading
Loading