From adcdacf2f266e145c002664e71d20fd5ef32f8b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= <24550538+sebhmg@users.noreply.github.com> Date: Wed, 10 Jun 2026 07:11:28 -0400 Subject: [PATCH 01/10] simplify: version tag was passed and returned as is --- .../reusable-python-build_poetry_package.yml | 24 ------------------- ...usable-python-build_setuptools_package.yml | 21 ---------------- .../reusable-python-publish_pypi_package.yml | 8 +++---- 3 files changed, 3 insertions(+), 50 deletions(-) diff --git a/.github/workflows/reusable-python-build_poetry_package.yml b/.github/workflows/reusable-python-build_poetry_package.yml index 870a9c3..d758322 100644 --- a/.github/workflows/reusable-python-build_poetry_package.yml +++ b/.github/workflows/reusable-python-build_poetry_package.yml @@ -16,10 +16,6 @@ on: description: Python version to use (e.g. 3.10) required: true type: string - version-tag: - description: Version tag of the package to build - required: true - type: string virtual-repo-names: description: 'List of repository names to resolve on (e.g. ["public-pypi-dev"])' required: true @@ -41,9 +37,6 @@ on: build-dir-path: description: Path to the build directory value: ${{ jobs.build_package.outputs.build-dir-path }} - version: - description: Version of the package - value: ${{ jobs.build_package.outputs.version }} secrets: JFROG_ARTIFACTORY_URL: description: JFrog Artifactory URL @@ -63,7 +56,6 @@ jobs: timeout-minutes: ${{ inputs.timeout-minutes }} outputs: build-dir-path: ${{ steps.define-build-path.outputs.dir-path }} - version: ${{ steps.get-version.outputs.version }} steps: - name: Checkout uses: actions/checkout@v6 @@ -71,22 +63,6 @@ jobs: lfs: ${{ inputs.lfs }} fetch-depth: 0 persist-credentials: false - - name: Get version - id: get-version - env: - INPUTS_VERSION_TAG: ${{ inputs.version-tag }} - run: | - if [ "${INPUTS_VERSION_TAG}" = "v0.0.0" ]; then - echo "Version tag not available" - exit 1 - fi - VERSION=$(echo "${INPUTS_VERSION_TAG}" | sed 's/v//') - echo "version: ${VERSION}" - if [ -z "${VERSION}" ]; then - echo "Version is not available" - exit 1 - fi - echo "version=${VERSION}" >> $GITHUB_OUTPUT - uses: jfrog/setup-jfrog-cli@v4.9.1 name: Setup JFrog CLI env: diff --git a/.github/workflows/reusable-python-build_setuptools_package.yml b/.github/workflows/reusable-python-build_setuptools_package.yml index ba87399..c6a6575 100644 --- a/.github/workflows/reusable-python-build_setuptools_package.yml +++ b/.github/workflows/reusable-python-build_setuptools_package.yml @@ -11,10 +11,6 @@ on: description: Python version to use (e.g. 3.10) required: true type: string - version-tag: - description: Version tag of the package to build - required: true - type: string virtual-repo-names: description: 'List of repository names to resolve on (e.g. ["public-pypi-dev"])' required: true @@ -58,7 +54,6 @@ jobs: timeout-minutes: ${{ inputs.timeout-minutes }} outputs: build-dir-path: ${{ steps.define-build-path.outputs.dir-path }} - version: ${{ steps.get-version.outputs.version }} steps: - name: Checkout uses: actions/checkout@v6 @@ -66,22 +61,6 @@ jobs: lfs: ${{ inputs.lfs }} fetch-depth: 0 persist-credentials: false - - name: Get version - id: get-version - env: - INPUTS_VERSION_TAG: ${{ inputs.version-tag }} - run: | - if [ "${INPUTS_VERSION_TAG}" = "v0.0.0" ]; then - echo "Version tag not available" - exit 1 - fi - VERSION=$(echo "${INPUTS_VERSION_TAG}" | sed 's/v//') - echo "version: ${VERSION}" - if [ -z "${VERSION}" ]; then - echo "Version is not available" - exit 1 - fi - echo "version=${VERSION}" >> $GITHUB_OUTPUT - uses: jfrog/setup-jfrog-cli@v4.9.1 name: Setup JFrog CLI env: diff --git a/.github/workflows/reusable-python-publish_pypi_package.yml b/.github/workflows/reusable-python-publish_pypi_package.yml index b631a44..ed29ace 100644 --- a/.github/workflows/reusable-python-publish_pypi_package.yml +++ b/.github/workflows/reusable-python-publish_pypi_package.yml @@ -72,7 +72,6 @@ jobs: source-path: ${{ inputs.source-path || '.' }} python-version: ${{ inputs.python-version }} lfs: ${{ inputs.lfs }} - version-tag: ${{ inputs.version-tag || github.ref_name }} virtual-repo-names: ${{ inputs.virtual-repo-names }} os: ${{ inputs.os }} timeout-minutes: ${{ inputs.timeout-minutes }} @@ -88,7 +87,6 @@ jobs: package-name: ${{ inputs.package-name }} python-version: ${{ inputs.python-version }} lfs: ${{ inputs.lfs }} - version-tag: ${{ inputs.version-tag || github.ref_name }} virtual-repo-names: ${{ inputs.virtual-repo-names }} os: ${{ inputs.os }} timeout-minutes: ${{ inputs.timeout-minutes }} @@ -112,16 +110,16 @@ jobs: fail-fast: false matrix: virtual-repo-name: ${{ fromJson(inputs.virtual-repo-names) }} + env: + VERSION_TAG: ${{ inputs.version-tag || github.ref_name }} steps: - name: Select build outputs form the correct job id: select-build-outputs run: | if [[ "${{ needs.build_poetry_package.result }}" == "success" ]]; then echo "build-dir-path=${{ needs.build_poetry_package.outputs.build-dir-path }}" >> $GITHUB_ENV - echo "version=${{ needs.build_poetry_package.outputs.version }}" >> $GITHUB_ENV elif [[ "${{ needs.build_setuptools_package.result }}" == "success" ]]; then echo "build-dir-path=${{ needs.build_setuptools_package.outputs.build-dir-path }}" >> $GITHUB_ENV - echo "version=${{ needs.build_setuptools_package.outputs.version }}" >> $GITHUB_ENV else echo "No successful build found" exit 1 @@ -136,7 +134,7 @@ jobs: if: ${{ matrix.virtual-repo-name != 'pypi' && matrix.virtual-repo-name != 'test-pypi' }} with: build-dir-path: ${{ env.build-dir-path }} - artifactory-dir-path: ${{ matrix.virtual-repo-name }}/${{ inputs.package-name }}/${{ env.version }} + artifactory-dir-path: ${{ matrix.virtual-repo-name }}/${{ inputs.package-name }}/${{ env.VERSION_TAG }} JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }} JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }} - name: Publish package to PyPI From 67cab5a10d601a0333c9d98e44981363634acb90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= <24550538+sebhmg@users.noreply.github.com> Date: Wed, 10 Jun 2026 07:17:24 -0400 Subject: [PATCH 02/10] use uv for building package with setuptools --- .../workflows/reusable-python-build_setuptools_package.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-python-build_setuptools_package.yml b/.github/workflows/reusable-python-build_setuptools_package.yml index c6a6575..8c840b5 100644 --- a/.github/workflows/reusable-python-build_setuptools_package.yml +++ b/.github/workflows/reusable-python-build_setuptools_package.yml @@ -70,6 +70,8 @@ jobs: uses: actions/setup-python@v6 with: python-version: ${{ inputs.python-version }} + - name: Setup uv + uses: astral-sh/setup-uv@v7 - name: Verify package installation env: INPUTS_VIRTUAL_REPO_NAMES: ${{ inputs.virtual-repo-names }} @@ -79,9 +81,9 @@ jobs: PIP_EXTRA_INDEX_URL="$PIP_EXTRA_INDEX_URL https://github:${{ secrets.JFROG_ARTIFACTORY_TOKEN }}@${{ secrets.JFROG_ARTIFACTORY_URL }}/artifactory/api/pypi/${repo_name}/simple" done export PIP_EXTRA_INDEX_URL - pip install . + uv pip install . - name: Pip install build - run: pip install build + run: uv pip install build - name: Build package run: python -m build - name: Define build path From bc2e77d256bc68d071ec9e2377b1ebe81931b2ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= <24550538+sebhmg@users.noreply.github.com> Date: Wed, 10 Jun 2026 08:18:39 -0400 Subject: [PATCH 03/10] [DEVOPS-1120] use new tag across workflows --- .../workflows/reusable-python-publish_pypi_package.yml | 10 +++++----- .../reusable-python-publish_rattler_package.yml | 6 +++--- .github/workflows/reusable-python-pytest.yml | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/reusable-python-publish_pypi_package.yml b/.github/workflows/reusable-python-publish_pypi_package.yml index ed29ace..36c91f9 100644 --- a/.github/workflows/reusable-python-publish_pypi_package.yml +++ b/.github/workflows/reusable-python-publish_pypi_package.yml @@ -66,7 +66,7 @@ jobs: build_poetry_package: name: Build poetry package if: ${{ inputs.package-manager == 'poetry' && github.repository_owner == 'MiraGeoscience' }} - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-build_poetry_package.yml@v3 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-build_poetry_package.yml@v3.6.0-alpha.1 with: package-name: ${{ inputs.package-name }} source-path: ${{ inputs.source-path || '.' }} @@ -82,7 +82,7 @@ jobs: build_setuptools_package: name: Build setuptools package if: ${{ inputs.package-manager == 'setuptools' && github.repository_owner == 'MiraGeoscience' }} - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-build_setuptools_package.yml@v3 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-build_setuptools_package.yml@v3.6.0-alpha.1 with: package-name: ${{ inputs.package-name }} python-version: ${{ inputs.python-version }} @@ -96,7 +96,7 @@ jobs: is_publishable: name: Check version publishability - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-version-check.yml@v3 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-version-check.yml@v3.6.0-alpha.1 with: version-tag: ${{ inputs.version-tag || github.ref_name }} @@ -130,7 +130,7 @@ jobs: name: ${{ inputs.package-name }}-pip-package-build path: ${{ env.build-dir-path }} - name: Publish package to Artifactory - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-publish_to_artifactory@v3 + uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-publish_to_artifactory@v3.6.0-alpha.1 if: ${{ matrix.virtual-repo-name != 'pypi' && matrix.virtual-repo-name != 'test-pypi' }} with: build-dir-path: ${{ env.build-dir-path }} @@ -156,7 +156,7 @@ jobs: timeout-minutes: 5 steps: - name: Get draft release - uses: MiraGeoscience/CI-tools/.github/actions/reusable-get_draft_release@v3 + uses: MiraGeoscience/CI-tools/.github/actions/reusable-get_draft_release@v3.6.0-alpha.1 id: get-draft-release with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/reusable-python-publish_rattler_package.yml b/.github/workflows/reusable-python-publish_rattler_package.yml index 8fee069..1a78abe 100644 --- a/.github/workflows/reusable-python-publish_rattler_package.yml +++ b/.github/workflows/reusable-python-publish_rattler_package.yml @@ -153,7 +153,7 @@ jobs: is_publishable: name: Check version publishability - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-version-check.yml@v3 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-version-check.yml@v3.6.0-alpha.1 with: version-tag: ${{ inputs.version-tag || github.ref_name }} @@ -173,7 +173,7 @@ jobs: name: ${{ inputs.package-name }}-conda-package-build path: build-dir - name: Publish package to Artifactory - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-publish_to_artifactory@v3 + uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-publish_to_artifactory@v3.6.0-alpha.1 with: build-dir-path: build-dir/noarch artifactory-dir-path: ${{ matrix.publish-repo-name}}/noarch @@ -189,7 +189,7 @@ jobs: timeout-minutes: 5 steps: - name: Get draft release - uses: MiraGeoscience/CI-tools/.github/actions/reusable-get_draft_release@v3 + uses: MiraGeoscience/CI-tools/.github/actions/reusable-get_draft_release@v3.6.0-alpha.1 id: get-draft-release with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/reusable-python-pytest.yml b/.github/workflows/reusable-python-pytest.yml index 7b03f41..53616f4 100644 --- a/.github/workflows/reusable-python-pytest.yml +++ b/.github/workflows/reusable-python-pytest.yml @@ -115,7 +115,7 @@ jobs: with: python-version: ${{ matrix.python-version }} - - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_conda@v3.4.0 + - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_conda@v3.6.0-alpha.1 name: Setup conda env if: ${{ inputs.package-manager == 'conda' }} env: @@ -127,7 +127,7 @@ jobs: JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }} JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }} - - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_poetry@v3.4.0 + - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_poetry@v3.6.0-alpha.1 name: Setup poetry env if: ${{ inputs.package-manager == 'poetry' }} with: From d817e11d056fa8d1194fbcfc58f3148818907992 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= <24550538+sebhmg@users.noreply.github.com> Date: Wed, 10 Jun 2026 08:19:09 -0400 Subject: [PATCH 04/10] [DEVOPS-1120] move old tags to v3 --- .github/workflows/reusable-python-pytest.yml | 4 ++-- .github/workflows/reusable-python-static_analysis.yml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/reusable-python-pytest.yml b/.github/workflows/reusable-python-pytest.yml index 53616f4..66b4c3f 100644 --- a/.github/workflows/reusable-python-pytest.yml +++ b/.github/workflows/reusable-python-pytest.yml @@ -137,14 +137,14 @@ jobs: virtual-repo-names: ${{ inputs.virtual-repo-names }} JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }} - - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_hatch@v3.4.0 + - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_hatch@v3 name: Setup hatch env if: ${{ inputs.package-manager == 'hatch' }} with: cache-number: ${{ inputs.cache-number }} runner-os: ${{ runner.os }} - - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_pixi@v3.4.0 + - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_pixi@v3 name: Setup pixi env if: ${{ inputs.package-manager == 'pixi' }} with: diff --git a/.github/workflows/reusable-python-static_analysis.yml b/.github/workflows/reusable-python-static_analysis.yml index 7424c76..2c14f82 100644 --- a/.github/workflows/reusable-python-static_analysis.yml +++ b/.github/workflows/reusable-python-static_analysis.yml @@ -116,7 +116,7 @@ jobs: with: python-version: ${{inputs.python-version}} - - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_conda@v3.4.0 + - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_conda@v3 name: Setup conda env env: GIT_LFS_SKIP_SMUDGE: "1" @@ -128,7 +128,7 @@ jobs: JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }} JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }} - - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_poetry@v3.4.0 + - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_poetry@v3 name: Setup poetry env if: ${{ inputs.package-manager == 'poetry' }} with: @@ -138,14 +138,14 @@ jobs: virtual-repo-names: ${{ inputs.virtual-repo-names }} JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }} - - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_hatch@v3.4.0 + - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_hatch@v3 name: Setup hatch env if: ${{ inputs.package-manager == 'hatch' }} with: cache-number: ${{ inputs.cache-number }} runner-os: ${{ runner.os }} - - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_pixi@v3.4.0 + - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_pixi@v3 name: Setup pixi env if: ${{ inputs.package-manager == 'pixi' }} with: From c03c1504dbb307e5fee842251fbce611f281c8ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= <24550538+sebhmg@users.noreply.github.com> Date: Wed, 10 Jun 2026 08:41:28 -0400 Subject: [PATCH 05/10] [DEVOPS-1120] option to publish dev version tag dev version tags are not published by default --- .../reusable-python-publish_pypi_package.yml | 11 ++++++++++- .../reusable-python-publish_rattler_package.yml | 7 ++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-python-publish_pypi_package.yml b/.github/workflows/reusable-python-publish_pypi_package.yml index 36c91f9..595ecab 100644 --- a/.github/workflows/reusable-python-publish_pypi_package.yml +++ b/.github/workflows/reusable-python-publish_pypi_package.yml @@ -44,6 +44,11 @@ on: description: Version tag of the package to build (defaults to github.ref_name if not provided) required: false type: string + publish-dev-tag: + description: Whether to publish a "dev" version of the package. By default a "dev" version tag is built but not published. + required: false + type: boolean + default: false secrets: JFROG_ARTIFACTORY_URL: description: JFrog Artifactory URL @@ -103,7 +108,11 @@ jobs: publish_package: name: Publish package needs: [ build_poetry_package, build_setuptools_package, is_publishable ] - if: ${{ always() && contains(needs.*.result, 'success') && !contains(needs.*.result, 'failure') && github.repository_owner == 'MiraGeoscience' && needs.is_publishable.outputs.is-publishable == 'true' }} + if: | + always() && + contains(needs.*.result, 'success') && !contains(needs.*.result, 'failure') && + github.repository_owner == 'MiraGeoscience' && + (needs.is_publishable.outputs.is-publishable == 'true' || inputs.publish-dev-tag) runs-on: ubuntu-latest timeout-minutes: 5 strategy: diff --git a/.github/workflows/reusable-python-publish_rattler_package.yml b/.github/workflows/reusable-python-publish_rattler_package.yml index 1a78abe..eebdce2 100644 --- a/.github/workflows/reusable-python-publish_rattler_package.yml +++ b/.github/workflows/reusable-python-publish_rattler_package.yml @@ -55,6 +55,11 @@ on: description: Version tag of the package to build (defaults to github.ref_name if not provided) required: false type: string + publish-dev-tag: + description: Whether to publish a "dev" version of the package. By default a "dev" version tag is built but not published. + required: false + type: boolean + default: false build-experimental: description: Enable rattler-build experimental features required: false @@ -160,7 +165,7 @@ jobs: publish_package: name: Publish package needs: [build_rattler_package, is_publishable] - if: ${{ github.repository_owner == 'MiraGeoscience' && needs.is_publishable.outputs.is-publishable == 'true' }} + if: ${{ github.repository_owner == 'MiraGeoscience' && (needs.is_publishable.outputs.is-publishable == 'true' || inputs.publish-dev-tag) }} runs-on: ubuntu-latest timeout-minutes: 5 strategy: From d6b93b2e992d8684e7002d598e86350ebe1ee8c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= <24550538+sebhmg@users.noreply.github.com> Date: Wed, 10 Jun 2026 09:04:37 -0400 Subject: [PATCH 06/10] [DEVOPS-1120] Revert "use uv for building package with setuptools" did not work This reverts commit 67cab5a10d601a0333c9d98e44981363634acb90. --- .../workflows/reusable-python-build_setuptools_package.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-python-build_setuptools_package.yml b/.github/workflows/reusable-python-build_setuptools_package.yml index 8c840b5..c6a6575 100644 --- a/.github/workflows/reusable-python-build_setuptools_package.yml +++ b/.github/workflows/reusable-python-build_setuptools_package.yml @@ -70,8 +70,6 @@ jobs: uses: actions/setup-python@v6 with: python-version: ${{ inputs.python-version }} - - name: Setup uv - uses: astral-sh/setup-uv@v7 - name: Verify package installation env: INPUTS_VIRTUAL_REPO_NAMES: ${{ inputs.virtual-repo-names }} @@ -81,9 +79,9 @@ jobs: PIP_EXTRA_INDEX_URL="$PIP_EXTRA_INDEX_URL https://github:${{ secrets.JFROG_ARTIFACTORY_TOKEN }}@${{ secrets.JFROG_ARTIFACTORY_URL }}/artifactory/api/pypi/${repo_name}/simple" done export PIP_EXTRA_INDEX_URL - uv pip install . + pip install . - name: Pip install build - run: uv pip install build + run: pip install build - name: Build package run: python -m build - name: Define build path From c547093fd1cc7a8f990fc5b720b3182426c4079b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= <24550538+sebhmg@users.noreply.github.com> Date: Wed, 10 Jun 2026 09:10:27 -0400 Subject: [PATCH 07/10] [DEVOPS-1120] new version tag --- .../workflows/reusable-python-publish_pypi_package.yml | 10 +++++----- .../reusable-python-publish_rattler_package.yml | 6 +++--- .github/workflows/reusable-python-pytest.yml | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/reusable-python-publish_pypi_package.yml b/.github/workflows/reusable-python-publish_pypi_package.yml index 595ecab..bf619fa 100644 --- a/.github/workflows/reusable-python-publish_pypi_package.yml +++ b/.github/workflows/reusable-python-publish_pypi_package.yml @@ -71,7 +71,7 @@ jobs: build_poetry_package: name: Build poetry package if: ${{ inputs.package-manager == 'poetry' && github.repository_owner == 'MiraGeoscience' }} - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-build_poetry_package.yml@v3.6.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-build_poetry_package.yml@v3.7.0-alpha.1 with: package-name: ${{ inputs.package-name }} source-path: ${{ inputs.source-path || '.' }} @@ -87,7 +87,7 @@ jobs: build_setuptools_package: name: Build setuptools package if: ${{ inputs.package-manager == 'setuptools' && github.repository_owner == 'MiraGeoscience' }} - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-build_setuptools_package.yml@v3.6.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-build_setuptools_package.yml@v3.7.0-alpha.1 with: package-name: ${{ inputs.package-name }} python-version: ${{ inputs.python-version }} @@ -101,7 +101,7 @@ jobs: is_publishable: name: Check version publishability - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-version-check.yml@v3.6.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-version-check.yml@v3.7.0-alpha.1 with: version-tag: ${{ inputs.version-tag || github.ref_name }} @@ -139,7 +139,7 @@ jobs: name: ${{ inputs.package-name }}-pip-package-build path: ${{ env.build-dir-path }} - name: Publish package to Artifactory - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-publish_to_artifactory@v3.6.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-publish_to_artifactory@v3.7.0-alpha.1 if: ${{ matrix.virtual-repo-name != 'pypi' && matrix.virtual-repo-name != 'test-pypi' }} with: build-dir-path: ${{ env.build-dir-path }} @@ -165,7 +165,7 @@ jobs: timeout-minutes: 5 steps: - name: Get draft release - uses: MiraGeoscience/CI-tools/.github/actions/reusable-get_draft_release@v3.6.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/actions/reusable-get_draft_release@v3.7.0-alpha.1 id: get-draft-release with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/reusable-python-publish_rattler_package.yml b/.github/workflows/reusable-python-publish_rattler_package.yml index eebdce2..1637746 100644 --- a/.github/workflows/reusable-python-publish_rattler_package.yml +++ b/.github/workflows/reusable-python-publish_rattler_package.yml @@ -158,7 +158,7 @@ jobs: is_publishable: name: Check version publishability - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-version-check.yml@v3.6.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-version-check.yml@v3.7.0-alpha.1 with: version-tag: ${{ inputs.version-tag || github.ref_name }} @@ -178,7 +178,7 @@ jobs: name: ${{ inputs.package-name }}-conda-package-build path: build-dir - name: Publish package to Artifactory - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-publish_to_artifactory@v3.6.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-publish_to_artifactory@v3.7.0-alpha.1 with: build-dir-path: build-dir/noarch artifactory-dir-path: ${{ matrix.publish-repo-name}}/noarch @@ -194,7 +194,7 @@ jobs: timeout-minutes: 5 steps: - name: Get draft release - uses: MiraGeoscience/CI-tools/.github/actions/reusable-get_draft_release@v3.6.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/actions/reusable-get_draft_release@v3.7.0-alpha.1 id: get-draft-release with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/reusable-python-pytest.yml b/.github/workflows/reusable-python-pytest.yml index 66b4c3f..8e48656 100644 --- a/.github/workflows/reusable-python-pytest.yml +++ b/.github/workflows/reusable-python-pytest.yml @@ -115,7 +115,7 @@ jobs: with: python-version: ${{ matrix.python-version }} - - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_conda@v3.6.0-alpha.1 + - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_conda@v3.7.0-alpha.1 name: Setup conda env if: ${{ inputs.package-manager == 'conda' }} env: @@ -127,7 +127,7 @@ jobs: JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }} JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }} - - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_poetry@v3.6.0-alpha.1 + - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_poetry@v3.7.0-alpha.1 name: Setup poetry env if: ${{ inputs.package-manager == 'poetry' }} with: From 9527851c3d4321b90722ffbe51f7a357f480df99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= <24550538+sebhmg@users.noreply.github.com> Date: Mon, 29 Jun 2026 21:57:52 -0400 Subject: [PATCH 08/10] [DEVOPS-1123] remove obsolete output declaration --- .github/workflows/reusable-python-build_setuptools_package.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/reusable-python-build_setuptools_package.yml b/.github/workflows/reusable-python-build_setuptools_package.yml index c6a6575..9af9839 100644 --- a/.github/workflows/reusable-python-build_setuptools_package.yml +++ b/.github/workflows/reusable-python-build_setuptools_package.yml @@ -32,9 +32,6 @@ on: build-dir-path: description: Path to the build directory value: ${{ jobs.build_package.outputs.build-dir-path }} - version: - description: Version of the package - value: ${{ jobs.build_package.outputs.version }} secrets: JFROG_ARTIFACTORY_URL: description: JFrog Artifactory URL From 0e63e05de16d36e5736838ebeb11af179590570b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= <24550538+sebhmg@users.noreply.github.com> Date: Mon, 29 Jun 2026 21:59:05 -0400 Subject: [PATCH 09/10] [DEVOPS-1123] correct version number from tag: remove leading v --- .github/workflows/reusable-python-publish_pypi_package.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-python-publish_pypi_package.yml b/.github/workflows/reusable-python-publish_pypi_package.yml index bf619fa..018a403 100644 --- a/.github/workflows/reusable-python-publish_pypi_package.yml +++ b/.github/workflows/reusable-python-publish_pypi_package.yml @@ -141,9 +141,11 @@ jobs: - name: Publish package to Artifactory uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-publish_to_artifactory@v3.7.0-alpha.1 if: ${{ matrix.virtual-repo-name != 'pypi' && matrix.virtual-repo-name != 'test-pypi' }} + env: + VERSION_NUMBER: ${{ startsWith(env.VERSION_TAG, 'v') && substring(env.VERSION_TAG, 1) || env.VERSION_TAG }} with: build-dir-path: ${{ env.build-dir-path }} - artifactory-dir-path: ${{ matrix.virtual-repo-name }}/${{ inputs.package-name }}/${{ env.VERSION_TAG }} + artifactory-dir-path: ${{ matrix.virtual-repo-name }}/${{ inputs.package-name }}/${{ env.VERSION_NUMBER }} JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }} JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }} - name: Publish package to PyPI From c21f1abce71499f6b283193c00dbac460f690695 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= <24550538+sebhmg@users.noreply.github.com> Date: Mon, 29 Jun 2026 22:08:33 -0400 Subject: [PATCH 10/10] [DEVOPS-1123] bump version: future is now 3.8.0 --- .../workflows/reusable-python-publish_pypi_package.yml | 10 +++++----- .../reusable-python-publish_rattler_package.yml | 6 +++--- .github/workflows/reusable-python-pytest.yml | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/reusable-python-publish_pypi_package.yml b/.github/workflows/reusable-python-publish_pypi_package.yml index 018a403..80120e8 100644 --- a/.github/workflows/reusable-python-publish_pypi_package.yml +++ b/.github/workflows/reusable-python-publish_pypi_package.yml @@ -71,7 +71,7 @@ jobs: build_poetry_package: name: Build poetry package if: ${{ inputs.package-manager == 'poetry' && github.repository_owner == 'MiraGeoscience' }} - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-build_poetry_package.yml@v3.7.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-build_poetry_package.yml@v3.8.0-alpha.1 with: package-name: ${{ inputs.package-name }} source-path: ${{ inputs.source-path || '.' }} @@ -87,7 +87,7 @@ jobs: build_setuptools_package: name: Build setuptools package if: ${{ inputs.package-manager == 'setuptools' && github.repository_owner == 'MiraGeoscience' }} - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-build_setuptools_package.yml@v3.7.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-build_setuptools_package.yml@v3.8.0-alpha.1 with: package-name: ${{ inputs.package-name }} python-version: ${{ inputs.python-version }} @@ -101,7 +101,7 @@ jobs: is_publishable: name: Check version publishability - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-version-check.yml@v3.7.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-version-check.yml@v3.8.0-alpha.1 with: version-tag: ${{ inputs.version-tag || github.ref_name }} @@ -139,7 +139,7 @@ jobs: name: ${{ inputs.package-name }}-pip-package-build path: ${{ env.build-dir-path }} - name: Publish package to Artifactory - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-publish_to_artifactory@v3.7.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-publish_to_artifactory@v3.8.0-alpha.1 if: ${{ matrix.virtual-repo-name != 'pypi' && matrix.virtual-repo-name != 'test-pypi' }} env: VERSION_NUMBER: ${{ startsWith(env.VERSION_TAG, 'v') && substring(env.VERSION_TAG, 1) || env.VERSION_TAG }} @@ -167,7 +167,7 @@ jobs: timeout-minutes: 5 steps: - name: Get draft release - uses: MiraGeoscience/CI-tools/.github/actions/reusable-get_draft_release@v3.7.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/actions/reusable-get_draft_release@v3.8.0-alpha.1 id: get-draft-release with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/reusable-python-publish_rattler_package.yml b/.github/workflows/reusable-python-publish_rattler_package.yml index 1637746..b776683 100644 --- a/.github/workflows/reusable-python-publish_rattler_package.yml +++ b/.github/workflows/reusable-python-publish_rattler_package.yml @@ -158,7 +158,7 @@ jobs: is_publishable: name: Check version publishability - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-version-check.yml@v3.7.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-version-check.yml@v3.8.0-alpha.1 with: version-tag: ${{ inputs.version-tag || github.ref_name }} @@ -178,7 +178,7 @@ jobs: name: ${{ inputs.package-name }}-conda-package-build path: build-dir - name: Publish package to Artifactory - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-publish_to_artifactory@v3.7.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-publish_to_artifactory@v3.8.0-alpha.1 with: build-dir-path: build-dir/noarch artifactory-dir-path: ${{ matrix.publish-repo-name}}/noarch @@ -194,7 +194,7 @@ jobs: timeout-minutes: 5 steps: - name: Get draft release - uses: MiraGeoscience/CI-tools/.github/actions/reusable-get_draft_release@v3.7.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/actions/reusable-get_draft_release@v3.8.0-alpha.1 id: get-draft-release with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/reusable-python-pytest.yml b/.github/workflows/reusable-python-pytest.yml index d68dd8b..59e4753 100644 --- a/.github/workflows/reusable-python-pytest.yml +++ b/.github/workflows/reusable-python-pytest.yml @@ -133,7 +133,7 @@ jobs: with: python-version: ${{ matrix.python-version }} - - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_conda@v3.7.0-alpha.1 + - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_conda@v3.8.0-alpha.1 name: Setup conda env if: ${{ inputs.package-manager == 'conda' }} env: @@ -145,7 +145,7 @@ jobs: JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }} JFROG_ARTIFACTORY_TOKEN: ${{ secrets.JFROG_ARTIFACTORY_TOKEN }} - - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_poetry@v3.7.0-alpha.1 + - uses: MiraGeoscience/CI-tools/.github/actions/reusable-python-setup_poetry@v3.8.0-alpha.1 name: Setup poetry env if: ${{ inputs.package-manager == 'poetry' }} with: