From cf8e77f7100586902a927bb91f4c1103f2669095 Mon Sep 17 00:00:00 2001 From: SophieCurinier Date: Mon, 7 Oct 2024 08:51:44 -0400 Subject: [PATCH 01/11] [DEVOPS-504] Add deploy workflows --- .github/workflows/python_deploy_dev.yml | 18 +++++++ .github/workflows/python_deploy_prod.yml | 17 ++++++ meta.yaml | 67 ++++++++++++++++++++++++ 3 files changed, 102 insertions(+) create mode 100644 .github/workflows/python_deploy_dev.yml create mode 100644 .github/workflows/python_deploy_prod.yml create mode 100644 meta.yaml diff --git a/.github/workflows/python_deploy_dev.yml b/.github/workflows/python_deploy_dev.yml new file mode 100644 index 0000000000..a575b95414 --- /dev/null +++ b/.github/workflows/python_deploy_dev.yml @@ -0,0 +1,18 @@ +name: Deploy python package in development + +on: + push: + tags: + - 'v*' # Push events to every tag not containing + +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@DEVOPS-504 + with: + package-name: 'mira-simpeg' + python-version: '3.10' + virtual-repo-name: 'public-conda-dev' + secrets: + JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }} + JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }} diff --git a/.github/workflows/python_deploy_prod.yml b/.github/workflows/python_deploy_prod.yml new file mode 100644 index 0000000000..118be828d9 --- /dev/null +++ b/.github/workflows/python_deploy_prod.yml @@ -0,0 +1,17 @@ +name: Deploy python package in production + +on: + release: + types: [published] # Trigger for draft release + +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@DEVOPS-504 + with: + package-name: 'mira-omf' + python-version: '3.10' + virtual-repo-name: 'public-conda-prod' + secrets: + JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }} + JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }} diff --git a/meta.yaml b/meta.yaml new file mode 100644 index 0000000000..b4e4c27e39 --- /dev/null +++ b/meta.yaml @@ -0,0 +1,67 @@ +{% set name = "mira-simpeg" %} +{% set version = "0.19.0.8.dev0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/MiraGeoscience/simpeg/archive/v0.19.0.8+mira.tar.gz + sha256: f48e21e1e3d1df79be0baad2bc0b91f83714ddf53780a6849f9a60f9418a735b + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + +requirements: + host: + - python >=3.7 + - poetry-core >=1.0.0 + - setuptools + - pip + run: + - python >=3.7 + - discretize >=0.8.0 + - empymod >=2.0.0 + - geoana + - geoh5py + - 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 + 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 \ No newline at end of file From 162b74aa3010ddb2b4339f70059461e5facb5abc Mon Sep 17 00:00:00 2001 From: SophieCurinier Date: Mon, 7 Oct 2024 15:04:49 -0400 Subject: [PATCH 02/11] [DEVOPS-504] Update conda's recipe --- meta.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/meta.yaml b/meta.yaml index b4e4c27e39..21d85f1d6f 100644 --- a/meta.yaml +++ b/meta.yaml @@ -1,13 +1,14 @@ {% set name = "mira-simpeg" %} -{% set version = "0.19.0.8.dev0" %} +{% set version = "0.19.0.dev8" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/MiraGeoscience/simpeg/archive/v0.19.0.8+mira.tar.gz - sha256: f48e21e1e3d1df79be0baad2bc0b91f83714ddf53780a6849f9a60f9418a735b + # url: https://github.com/MiraGeoscience/simpeg/archive/v0.19.0.8+mira.tar.gz + # sha256: f48e21e1e3d1df79be0baad2bc0b91f83714ddf53780a6849f9a60f9418a735b + path: ../{{ name }} build: noarch: python From 711bebf06b60d032f84b5af046d3db5ecab75b82 Mon Sep 17 00:00:00 2001 From: SophieCurinier Date: Mon, 7 Oct 2024 16:28:24 -0400 Subject: [PATCH 03/11] [DEVOPS-504] Update conda's recipe --- meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta.yaml b/meta.yaml index 21d85f1d6f..b4204fea4f 100644 --- a/meta.yaml +++ b/meta.yaml @@ -23,10 +23,10 @@ requirements: - pip run: - python >=3.7 - - discretize >=0.8.0 + - discretize >=0.10.0 - empymod >=2.0.0 - - geoana - - geoh5py + - geoana >=0.5.0 + - geoh5py >=0.9.1,<0.11 - matplotlib-base - numpy >=1.20 - pandas From bfd49b4c389cf7ecf90b612caeea57b6a7b30372 Mon Sep 17 00:00:00 2001 From: SophieCurinier Date: Mon, 7 Oct 2024 16:45:08 -0400 Subject: [PATCH 04/11] [DEVOPS-504] Update source path in conda's recipe --- meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta.yaml b/meta.yaml index b4204fea4f..ebe0f76f54 100644 --- a/meta.yaml +++ b/meta.yaml @@ -8,7 +8,7 @@ package: source: # url: https://github.com/MiraGeoscience/simpeg/archive/v0.19.0.8+mira.tar.gz # sha256: f48e21e1e3d1df79be0baad2bc0b91f83714ddf53780a6849f9a60f9418a735b - path: ../{{ name }} + path: ../simpeg build: noarch: python From c2fb969c2a2a7adfea7933fedd94a501801b1565 Mon Sep 17 00:00:00 2001 From: SophieCurinier Date: Mon, 7 Oct 2024 16:52:19 -0400 Subject: [PATCH 05/11] [DEVOPS-504] Update importer in conda's recipe --- meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta.yaml b/meta.yaml index ebe0f76f54..98d9ac7592 100644 --- a/meta.yaml +++ b/meta.yaml @@ -41,7 +41,7 @@ requirements: test: imports: - - SimPEG + - simpeg commands: - pip check requires: From 7730cb560ea396509c176984f2638f7c77f4b921 Mon Sep 17 00:00:00 2001 From: SophieCurinier Date: Mon, 7 Oct 2024 17:09:58 -0400 Subject: [PATCH 06/11] [DEVOPS-504] Update test in conda's recipe --- meta.yaml | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/meta.yaml b/meta.yaml index 98d9ac7592..89f9456027 100644 --- a/meta.yaml +++ b/meta.yaml @@ -42,8 +42,32 @@ requirements: 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 + - pip install . requires: - pip From 9918995ae86d818ec02c420537ef18802e30b35e Mon Sep 17 00:00:00 2001 From: SophieCurinier Date: Tue, 8 Oct 2024 14:36:59 -0400 Subject: [PATCH 07/11] [DEVOPS-504] Update conda's recipe --- meta.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/meta.yaml b/meta.yaml index 89f9456027..62e5c99782 100644 --- a/meta.yaml +++ b/meta.yaml @@ -1,13 +1,11 @@ {% set name = "mira-simpeg" %} -{% set version = "0.19.0.dev8" %} +{% set version = "0.21.2.1a0" %} package: name: {{ name|lower }} version: {{ version }} source: - # url: https://github.com/MiraGeoscience/simpeg/archive/v0.19.0.8+mira.tar.gz - # sha256: f48e21e1e3d1df79be0baad2bc0b91f83714ddf53780a6849f9a60f9418a735b path: ../simpeg build: @@ -67,7 +65,7 @@ test: - simpeg.regularization - simpeg.meta commands: - - pip install . + - pip check requires: - pip From d4a42e872c6eefbfd8ffa3c6f56e28547ef82165 Mon Sep 17 00:00:00 2001 From: SophieCurinier Date: Tue, 8 Oct 2024 14:50:45 -0400 Subject: [PATCH 08/11] [DEVOPS-504] Update conda's recipe: Add setuptools_scm --- meta.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/meta.yaml b/meta.yaml index 62e5c99782..fdad3d177d 100644 --- a/meta.yaml +++ b/meta.yaml @@ -10,17 +10,18 @@ source: build: noarch: python - script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + script: {{ PYTHON }} -m pip install . -vv --no-deps number: 0 requirements: host: - - python >=3.7 + - python >=3.10 - poetry-core >=1.0.0 - - setuptools + - setuptools >=64 + - setuptools_scm >=8 - pip run: - - python >=3.7 + - python >=3.10 - discretize >=0.10.0 - empymod >=2.0.0 - geoana >=0.5.0 From 9642d23c6dca3956cab5489d59deb8ccf0abe726 Mon Sep 17 00:00:00 2001 From: SophieCurinier Date: Wed, 9 Oct 2024 15:37:29 -0400 Subject: [PATCH 09/11] [DEVOPS-504] Update deployment workflows --- .github/workflows/python_deploy_dev.yml | 14 +++++++++++++- .github/workflows/python_deploy_prod.yml | 20 ++++++++++++++++---- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/.github/workflows/python_deploy_dev.yml b/.github/workflows/python_deploy_dev.yml index a575b95414..dc100adb2c 100644 --- a/.github/workflows/python_deploy_dev.yml +++ b/.github/workflows/python_deploy_dev.yml @@ -12,7 +12,19 @@ jobs: with: package-name: 'mira-simpeg' python-version: '3.10' - virtual-repo-name: 'public-conda-dev' + 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@DEVOPS-504 + 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 }} \ No newline at end of file diff --git a/.github/workflows/python_deploy_prod.yml b/.github/workflows/python_deploy_prod.yml index 118be828d9..6ffe61cf8f 100644 --- a/.github/workflows/python_deploy_prod.yml +++ b/.github/workflows/python_deploy_prod.yml @@ -2,16 +2,28 @@ name: Deploy python package in production on: release: - types: [published] # Trigger for draft release + types: [published] jobs: call-workflow-conda-publish: - name: Publish development conda package on JFrog Artifactory + name: Publish production conda package on JFrog Artifactory uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_conda_package.yml@DEVOPS-504 with: - package-name: 'mira-omf' + package-name: 'mira-simpeg' python-version: '3.10' - virtual-repo-name: 'public-conda-prod' + virtual-repo-names: '["public-pypi-prod"]' 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@DEVOPS-504 + 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 }} \ No newline at end of file From ca6a6939119f9c8d6347f270e257af6984626b35 Mon Sep 17 00:00:00 2001 From: SophieCurinier Date: Tue, 15 Oct 2024 09:08:20 -0400 Subject: [PATCH 10/11] [DEVOPS-504] Update refs in workflows --- .github/workflows/python_deploy_dev.yml | 4 ++-- .github/workflows/python_deploy_prod.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/python_deploy_dev.yml b/.github/workflows/python_deploy_dev.yml index dc100adb2c..cbb2913a4c 100644 --- a/.github/workflows/python_deploy_dev.yml +++ b/.github/workflows/python_deploy_dev.yml @@ -8,7 +8,7 @@ on: 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@DEVOPS-504 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_conda_package.yml@main with: package-name: 'mira-simpeg' python-version: '3.10' @@ -18,7 +18,7 @@ jobs: 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@DEVOPS-504 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_pypi_package.yml@main with: package-manager: 'setuptools' package-name: 'mira-simpeg' diff --git a/.github/workflows/python_deploy_prod.yml b/.github/workflows/python_deploy_prod.yml index 6ffe61cf8f..a595114a4b 100644 --- a/.github/workflows/python_deploy_prod.yml +++ b/.github/workflows/python_deploy_prod.yml @@ -7,7 +7,7 @@ on: 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@DEVOPS-504 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_conda_package.yml@main with: package-name: 'mira-simpeg' python-version: '3.10' @@ -17,7 +17,7 @@ jobs: 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@DEVOPS-504 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_pypi_package.yml@main with: package-manager: 'setuptools' package-name: 'mira-simpeg' From a19726bed39df3cb5ee783de6702de5598444c62 Mon Sep 17 00:00:00 2001 From: SophieCurinier Date: Wed, 16 Oct 2024 10:57:51 -0400 Subject: [PATCH 11/11] [DEVOPS-504] Update comment in python_deploy_dev --- .github/workflows/python_deploy_dev.yml | 2 +- .github/workflows/python_deploy_prod.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python_deploy_dev.yml b/.github/workflows/python_deploy_dev.yml index cbb2913a4c..14364908b2 100644 --- a/.github/workflows/python_deploy_dev.yml +++ b/.github/workflows/python_deploy_dev.yml @@ -3,7 +3,7 @@ name: Deploy python package in development on: push: tags: - - 'v*' # Push events to every tag not containing + - 'v*' # Push events to every version tag (eg. v1.0.0) jobs: call-workflow-conda-publish: diff --git a/.github/workflows/python_deploy_prod.yml b/.github/workflows/python_deploy_prod.yml index a595114a4b..ce754069da 100644 --- a/.github/workflows/python_deploy_prod.yml +++ b/.github/workflows/python_deploy_prod.yml @@ -11,7 +11,7 @@ jobs: with: package-name: 'mira-simpeg' python-version: '3.10' - virtual-repo-names: '["public-pypi-prod"]' + virtual-repo-names: '["public-conda-prod"]' secrets: JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }} JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }}