From 8e58e450a329e0b4d00e35e253c237da9b7d22de Mon Sep 17 00:00:00 2001 From: Romain Floreani Date: Mon, 21 Sep 2026 10:13:54 -0400 Subject: [PATCH 1/5] Rebase + repo cleanup & simplification --- .github/workflows/python_deploy_dev.yml | 26 +++++++++++++++++++--- .github/workflows/python_deploy_prod.yml | 28 ++++++++++++++++++++---- 2 files changed, 47 insertions(+), 7 deletions(-) diff --git a/.github/workflows/python_deploy_dev.yml b/.github/workflows/python_deploy_dev.yml index 88b570d826..0011337541 100644 --- a/.github/workflows/python_deploy_dev.yml +++ b/.github/workflows/python_deploy_dev.yml @@ -29,7 +29,7 @@ jobs: JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }} call-workflow-pypi-publish: name: Publish development pypi package (JFrog Artifactory, TestPyPI) - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_pypi_package.yml@7241532854727d993872b67fc761139b8438615b # v3.12.0 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_pypi_package.yml@DEVOPS-1154 permissions: contents: write with: @@ -37,8 +37,28 @@ jobs: package-name: 'mira-simpeg' version-tag: ${{ github.ref_name }} python-version: '3.12' - virtual-repo-names: '["public-pypi-dev", "test-pypi"]' + virtual-repo-names: '["public-pypi-dev"]' secrets: JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }} JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }} - PYPI_TOKEN: ${{ secrets.TEST_PYPI_TOKEN }} + publish-pypi-package: + name: Publish development Python package to TestPyPI + needs: call-workflow-pypi-publish + if: ${{ needs.call-workflow-pypi-publish.result == 'success' && needs.call-workflow-pypi-publish.outputs.is-publishable == 'true' }} + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + steps: + - name: Download build artifact + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + name: mira-simpeg-pip-package-build + path: dist-download + # Must be a direct step (not in a reusable workflow or composite action), see + # https://docs.pypi.org/trusted-publishers/troubleshooting/#reusable-workflows-on-github + - name: Publish package to TestPyPI + uses: pypa/gh-action-pypi-publish@2834a314042ef964da07689278dd1e9d773e8afd # v1.14.1 + with: + packages-dir: dist-download/ + repository-url: https://test.pypi.org/legacy/ diff --git a/.github/workflows/python_deploy_prod.yml b/.github/workflows/python_deploy_prod.yml index e278468c52..6d0c97be46 100644 --- a/.github/workflows/python_deploy_prod.yml +++ b/.github/workflows/python_deploy_prod.yml @@ -51,17 +51,37 @@ jobs: JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }} JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }} call-workflow-pypi-release: - name: Publish production PyPI package (JFrog Artifactory, PyPI) + name: Publish production PyPI package (JFrog Artifactory) needs: validate-release-tag if: ${{ github.event_name == 'release' || github.event.inputs.publish-pypi == 'true' }} - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-release_pypi_assets.yml@7241532854727d993872b67fc761139b8438615b # v3.12.0 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-release_pypi_assets.yml@DEVOPS-1154 permissions: contents: write with: package-name: 'mira-simpeg' - virtual-repo-names: '["public-pypi-prod", "pypi"]' + virtual-repo-names: '["public-pypi-prod"]' release-tag: ${{ github.event.release.tag_name || github.ref_name }} secrets: JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }} JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }} - PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} \ No newline at end of file + publish-pypi-release: + name: Publish production Python package to PyPI + needs: [validate-release-tag, call-workflow-pypi-release] + if: ${{ (github.event_name == 'release' || github.event.inputs.publish-pypi == 'true') && needs.call-workflow-pypi-release.result == 'success' }} + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + steps: + - name: Download release assets + uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-download_dist_release@DEVOPS-1154 + with: + release-tag: ${{ github.event.release.tag_name || github.ref_name }} + github-token: ${{ secrets.GITHUB_TOKEN }} + # Must be a direct step (not in a reusable workflow or composite action), see + # https://docs.pypi.org/trusted-publishers/troubleshooting/#reusable-workflows-on-github + - name: Publish package to PyPI + uses: pypa/gh-action-pypi-publish@2834a314042ef964da07689278dd1e9d773e8afd # v1.14.1 + with: + packages-dir: dist-download/ + repository-url: https://upload.pypi.org/legacy/ From 3a71e0f448410cd84e1712059c37835644c492ae Mon Sep 17 00:00:00 2001 From: Romain Floreani Date: Mon, 21 Sep 2026 14:02:46 -0400 Subject: [PATCH 2/5] fix the code logic --- .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 0011337541..8a255fe8c6 100644 --- a/.github/workflows/python_deploy_dev.yml +++ b/.github/workflows/python_deploy_dev.yml @@ -58,7 +58,7 @@ jobs: # Must be a direct step (not in a reusable workflow or composite action), see # https://docs.pypi.org/trusted-publishers/troubleshooting/#reusable-workflows-on-github - name: Publish package to TestPyPI - uses: pypa/gh-action-pypi-publish@2834a314042ef964da07689278dd1e9d773e8afd # v1.14.1 + uses: pypa/gh-action-pypi-publish@ba38be9e461d3875417946c167d0b5f3d385a247 # v1.14.1 with: packages-dir: dist-download/ repository-url: https://test.pypi.org/legacy/ diff --git a/.github/workflows/python_deploy_prod.yml b/.github/workflows/python_deploy_prod.yml index 6d0c97be46..d8ab5aebf0 100644 --- a/.github/workflows/python_deploy_prod.yml +++ b/.github/workflows/python_deploy_prod.yml @@ -81,7 +81,7 @@ jobs: # Must be a direct step (not in a reusable workflow or composite action), see # https://docs.pypi.org/trusted-publishers/troubleshooting/#reusable-workflows-on-github - name: Publish package to PyPI - uses: pypa/gh-action-pypi-publish@2834a314042ef964da07689278dd1e9d773e8afd # v1.14.1 + uses: pypa/gh-action-pypi-publish@ba38be9e461d3875417946c167d0b5f3d385a247 # v1.14.1 with: packages-dir: dist-download/ repository-url: https://upload.pypi.org/legacy/ From d855bb2768b2e5f1c07dc533ea45fa6a1acd0ae5 Mon Sep 17 00:00:00 2001 From: Romain Floreani Date: Thu, 24 Sep 2026 15:34:13 -0400 Subject: [PATCH 3/5] Point conda workflows to CI-tools DEVOPS-1154 for testing --- .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 8a255fe8c6..02135f9312 100644 --- a/.github/workflows/python_deploy_dev.yml +++ b/.github/workflows/python_deploy_dev.yml @@ -14,7 +14,7 @@ concurrency: jobs: call-workflow-conda-publish: name: Publish development conda package on JFrog Artifactory - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_rattler_package.yml@7241532854727d993872b67fc761139b8438615b # v3.12.0 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_rattler_package.yml@DEVOPS-1154 permissions: contents: write with: diff --git a/.github/workflows/python_deploy_prod.yml b/.github/workflows/python_deploy_prod.yml index d8ab5aebf0..d93b978222 100644 --- a/.github/workflows/python_deploy_prod.yml +++ b/.github/workflows/python_deploy_prod.yml @@ -41,7 +41,7 @@ jobs: name: Publish production Conda package on JFrog Artifactory needs: validate-release-tag if: ${{ github.event_name == 'release' || github.event.inputs.publish-conda == 'true' }} - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-release_conda_assets.yml@7241532854727d993872b67fc761139b8438615b # v3.12.0 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-release_conda_assets.yml@DEVOPS-1154 permissions: contents: write with: From d0beac00ca40075cd2867dc87f85a4bb8364725c Mon Sep 17 00:00:00 2001 From: Romain Floreani Date: Thu, 24 Sep 2026 15:45:39 -0400 Subject: [PATCH 4/5] Trigger v0.25.0.2a3 build From 590ee2ed410e4c47602742d53f2f266b5c2a3359 Mon Sep 17 00:00:00 2001 From: Romain Floreani Date: Mon, 28 Sep 2026 11:42:55 -0400 Subject: [PATCH 5/5] Pin CI-tools deploy workflows to v3.13.0 --- .github/workflows/python_deploy_dev.yml | 4 ++-- .github/workflows/python_deploy_prod.yml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/python_deploy_dev.yml b/.github/workflows/python_deploy_dev.yml index 02135f9312..2f4763018d 100644 --- a/.github/workflows/python_deploy_dev.yml +++ b/.github/workflows/python_deploy_dev.yml @@ -14,7 +14,7 @@ concurrency: jobs: call-workflow-conda-publish: name: Publish development conda package on JFrog Artifactory - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_rattler_package.yml@DEVOPS-1154 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_rattler_package.yml@b2de1e00a0be160d8cf6e14716825673070bf264 # v3.13.0 permissions: contents: write with: @@ -29,7 +29,7 @@ jobs: JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }} call-workflow-pypi-publish: name: Publish development pypi package (JFrog Artifactory, TestPyPI) - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_pypi_package.yml@DEVOPS-1154 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_pypi_package.yml@b2de1e00a0be160d8cf6e14716825673070bf264 # v3.13.0 permissions: contents: write with: diff --git a/.github/workflows/python_deploy_prod.yml b/.github/workflows/python_deploy_prod.yml index d93b978222..b2658c747b 100644 --- a/.github/workflows/python_deploy_prod.yml +++ b/.github/workflows/python_deploy_prod.yml @@ -41,7 +41,7 @@ jobs: name: Publish production Conda package on JFrog Artifactory needs: validate-release-tag if: ${{ github.event_name == 'release' || github.event.inputs.publish-conda == 'true' }} - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-release_conda_assets.yml@DEVOPS-1154 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-release_conda_assets.yml@b2de1e00a0be160d8cf6e14716825673070bf264 # v3.13.0 permissions: contents: write with: @@ -54,7 +54,7 @@ jobs: name: Publish production PyPI package (JFrog Artifactory) needs: validate-release-tag if: ${{ github.event_name == 'release' || github.event.inputs.publish-pypi == 'true' }} - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-release_pypi_assets.yml@DEVOPS-1154 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-release_pypi_assets.yml@b2de1e00a0be160d8cf6e14716825673070bf264 # v3.13.0 permissions: contents: write with: @@ -74,7 +74,7 @@ jobs: id-token: write steps: - name: Download release assets - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-download_dist_release@DEVOPS-1154 + uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-download_dist_release@b2de1e00a0be160d8cf6e14716825673070bf264 # v3.13.0 with: release-tag: ${{ github.event.release.tag_name || github.ref_name }} github-token: ${{ secrets.GITHUB_TOKEN }}