Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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