hainenber commented on code in PR #44767:
URL: https://github.com/apache/superset/pull/44767#discussion_r4123145827


##########
.github/workflows/python-nightly-canary.yml:
##########
@@ -0,0 +1,80 @@
+# Python nightly canary
+name: Python-Nightly-Canary
+
+# Exercises the "next" Python minor (currently 3.13 -- see the `next`
+# resolution in setup-backend/action.yml) against `master` on a schedule
+# instead of on every push. The Docker image's base Python is pinned via
+# PY_VER to the 3.11 line (see the Dockerfile); this canary is how we find
+# out the codebase and dependency tree are clean on the next minor before
+# that pin is ever moved, without paying for a second full Python version
+# on every push/PR.
+#
+# Runs the unit-test suite only, not the full integration matrix or
+# coverage gates -- this is a compatibility signal, not a release gate.
+
+permissions:
+  contents: read
+
+on:
+  schedule:
+    # 05:00 UTC daily -- ahead of the Monday base-image-refresh cron
+    # (scheduled-docker-image-refresh.yml) so a 3.13 regression is known
+    # before anyone considers bumping PY_VER off 3.11.
+    - cron: "0 5 * * *"
+
+  # Manual trigger for on-demand runs (e.g. right after a dependency bump).
+  workflow_dispatch: {}
+
+concurrency:
+  group: ${{ github.workflow }}
+  cancel-in-progress: true
+
+jobs:
+  unit-tests-next:
+    runs-on: ubuntu-26.04
+    timeout-minutes: 45
+    env:
+      PYTHONPATH: ${{ github.workspace }}
+      SQLALCHEMY_WARN_20: "1"
+    steps:
+      - name: "Checkout master (${{ github.sha }})"
+        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # 
v7.0.1
+        with:
+          persist-credentials: false
+          submodules: recursive
+      - name: Setup Python (next)
+        uses: $/.github/actions/setup-backend/
+        with:
+          python-version: next
+      - name: Python unit tests
+        env:
+          SUPERSET_TESTENV: true
+          SUPERSET_SECRET_KEY: not-a-secret
+        run: |
+          pytest --durations-min=0.5 --cov-report= --cov=superset 
./tests/common ./tests/unit_tests --cache-clear --maxfail=50
+
+  # The whole point of this cron is finding 3.13 breakage before it's a
+  # blocker on a real PY_VER bump, so a silent failure defeats the purpose --
+  # a red X in the Actions tab nobody is watching. File a tracked issue,
+  # matching scheduled-docker-image-refresh.yml's existing convention.
+  notify-on-failure:
+    needs: unit-tests-next
+    if: failure()
+    runs-on: ubuntu-26.04
+    permissions:
+      contents: read
+      issues: write
+    steps:
+      - name: Open a tracking issue

Review Comment:
   IMO, we should have one consistent GH issue thread that are always opened 
and this job will keep update that thread with comments for any failures. 
That'll make our issue board cleaner, I think



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to