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

DEVOPS-504: Automatically publish python package on Artifactory #56

Merged
merged 11 commits into from
Oct 17, 2024
30 changes: 30 additions & 0 deletions .github/workflows/python_deploy_dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Deploy python package in development

on:
push:
tags:
- 'v*' # Push events to every tag not containing
SophieCurinier marked this conversation as resolved.
Show resolved Hide resolved

jobs:
call-workflow-conda-publish:
name: Publish development conda package on JFrog Artifactory
uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_conda_package.yml@main
with:
package-name: 'mira-simpeg'
python-version: '3.10'
virtual-repo-nameS: '["public-conda-dev"]'
secrets:
JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }}
JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }}
call-workflow-pypi-publish:
name: Publish development pypi package on JFrog Artifactory
uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_pypi_package.yml@main
with:
package-manager: 'setuptools'
package-name: 'mira-simpeg'
version-tag: ${{ github.ref_name }}
python-version: '3.10'
virtual-repo-names: '["public-pypi-dev"]'
secrets:
JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }}
JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }}
29 changes: 29 additions & 0 deletions .github/workflows/python_deploy_prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Deploy python package in production

on:
release:
types: [published]

jobs:
call-workflow-conda-publish:
name: Publish production conda package on JFrog Artifactory
uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_conda_package.yml@main
with:
package-name: 'mira-simpeg'
python-version: '3.10'
virtual-repo-names: '["public-pypi-prod"]'
SophieCurinier marked this conversation as resolved.
Show resolved Hide resolved
secrets:
JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }}
JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }}
call-workflow-pypi-publish:
name: Publish production pypi package on JFrog Artifactory
uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_pypi_package.yml@main
with:
package-manager: 'setuptools'
package-name: 'mira-simpeg'
version-tag: ${{ github.ref_name }}
python-version: '3.10'
virtual-repo-names: '["public-pypi-prod"]'
secrets:
JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }}
JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }}
91 changes: 91 additions & 0 deletions meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
{% set name = "mira-simpeg" %}
{% set version = "0.21.2.1a0" %}

package:
name: {{ name|lower }}
version: {{ version }}

source:
path: ../simpeg

build:
noarch: python
script: {{ PYTHON }} -m pip install . -vv --no-deps
number: 0

requirements:
host:
- python >=3.10
- poetry-core >=1.0.0
- setuptools >=64
- setuptools_scm >=8
- pip
run:
- python >=3.10
- discretize >=0.10.0
- empymod >=2.0.0
- geoana >=0.5.0
- geoh5py >=0.9.1,<0.11
- matplotlib-base
- numpy >=1.20
- pandas
- pymatsolver >=0.2
- scikit-learn >=1.2
- scipy >=1.8.0
run_constrained:
- dask-core *
- distributed *
- fsspec >=0.3.3
- zarr *

test:
imports:
- simpeg
- simpeg.electromagnetics
- simpeg.electromagnetics.analytics
- simpeg.electromagnetics.frequency_domain
- simpeg.electromagnetics.natural_source
- simpeg.electromagnetics.natural_source.utils
- simpeg.electromagnetics.static
- simpeg.electromagnetics.static.resistivity
- simpeg.electromagnetics.static.induced_polarization
- simpeg.electromagnetics.static.spectral_induced_polarization
- simpeg.electromagnetics.static.utils
- simpeg.electromagnetics.time_domain
- simpeg.electromagnetics.utils
- simpeg.electromagnetics.viscous_remanent_magnetization
- simpeg.flow
- simpeg.flow.richards
- simpeg.potential_fields
- simpeg.potential_fields.gravity
- simpeg.potential_fields.magnetics
- simpeg.seismic
- simpeg.seismic.straight_ray_tomography
- simpeg.utils
- simpeg.utils.drivers
- simpeg.regularization
- simpeg.meta
commands:
- pip check
requires:
- pip

about:
home: https://docs.simpeg.xyz/
summary: 'Mira Geoscience fork of SimPEG: Simulation and Parameter Estimation in Geophysics'
description: |
Simulation and Parameter Estimation in Geophysics - A python package for simulation and
gradient based parameter estimation in the context of geophysical applications.

Warning:
This is a fork created by Mira Geoscience.
license: MIT
license_file:
- LICENSE
doc_url: https://docs.simpeg.xyz/
dev_url: https://github.com/MiraGeoscience/simpeg

extra:
recipe-maintainers:
- SophieCurinier
- sebhmg