This is an automated email from the ASF dual-hosted git repository.

yufei pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/polaris.git


The following commit(s) were added to refs/heads/main by this push:
     new 14dba7d65 CI: CLI Nightly build (#3457)
14dba7d65 is described below

commit 14dba7d657d8fe4e9c98097029a30c70a50dc867
Author: Honah (Jonas) J. <[email protected]>
AuthorDate: Fri Jan 16 16:16:22 2026 -0600

    CI: CLI Nightly build (#3457)
---
 .github/workflows/nightly.yml | 24 ++++++++++++++++++++++++
 Makefile                      | 12 ++++++++++++
 client/python/pyproject.toml  | 10 ++++++++++
 3 files changed, 46 insertions(+)

diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index d90fad4f9..d35fa9a96 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -70,3 +70,27 @@ jobs:
           ORG_GRADLE_PROJECT_apacheUsername: ${{ secrets.NEXUS_USER }}
           ORG_GRADLE_PROJECT_apachePassword: ${{ secrets.NEXUS_PW }}
           DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
+
+  nightly_build_python_client:
+    runs-on: ubuntu-latest
+    if: github.repository == 'apache/polaris'
+    steps:
+      - name: Checkout
+        uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
+
+      - name: Set up Python
+        uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # 
v6
+        with:
+          python-version: "3.13"
+
+      - name: Set up JDK for openapi-generator-cli
+        uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5
+        with:
+          distribution: 'temurin'
+          java-version: '21'
+
+      - name: Publish Python client to Test PyPI
+        env:
+          UV_PUBLISH_TOKEN: ${{ secrets.TEST_PYPI_API_TOKEN }}
+        run: |
+          make client-nightly-publish
diff --git a/Makefile b/Makefile
index 41d970b1d..d4f3002d6 100644
--- a/Makefile
+++ b/Makefile
@@ -184,6 +184,18 @@ client-build: client-setup-env ## Build client 
distribution. Pass FORMAT=sdist o
        fi
        @echo "--- Client distribution build complete ---"
 
+.PHONY: client-nightly-publish
+client-nightly-publish: client-setup-env ## Build and publish nightly version 
to Test PyPI
+       @echo "--- Starting nightly publish ---"
+       @$(ACTIVATE_AND_CD) && \
+       CURRENT_VERSION=$$(uv version --short) && \
+       DATE_SUFFIX=$$(date -u +%Y%m%d%H%M%S) && \
+       NIGHTLY_VERSION="$${CURRENT_VERSION}.dev$${DATE_SUFFIX}" && \
+       echo "Publishing nightly version: $${NIGHTLY_VERSION}" && \
+       uv version "$${NIGHTLY_VERSION}" && \
+       uv build --clear && \
+       uv publish --index testpypi
+       @echo "--- Nightly publish complete ---"
 
 .PHONY: client-cleanup
 client-cleanup: ## Cleanup virtual environment and Python cache files
diff --git a/client/python/pyproject.toml b/client/python/pyproject.toml
index d01b50717..6000691f4 100644
--- a/client/python/pyproject.toml
+++ b/client/python/pyproject.toml
@@ -91,3 +91,13 @@ default-groups = [
 [tool.pip-licenses]
 partial-match = true
 allow-only = "Apache;BSD License;BSD-3-Clause;ISC;MIT;Mozilla Public 
License;PSF-2.0;Python Software Foundation License;The Unlicense"
+
+[[tool.uv.index]]
+name = "pypi"
+url = "https://pypi.org/simple";
+publish-url = "https://upload.pypi.org/legacy/";
+
+[[tool.uv.index]]
+name = "testpypi"
+url = "https://test.pypi.org/simple";
+publish-url = "https://test.pypi.org/legacy/";

Reply via email to