You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ci: post single "Python Integration Tests" check (unify with go/nodejs)
Python was the last multi-backend driver posting per-mode checks
(`Python Proxy Tests / thrift` + `/ kernel`). The new standalone receiver
in databricks-driver-test (databricks-python-integration-tests.yml) fans
out both backends internally and reports ONE aggregated check, matching
go/nodejs.
Collapse the five `MODES=['thrift','kernel']` two-check loops (skip / label
auto-pass / dispatch-fail / merge-queue auto-pass / merge-queue-fail) into a
single `Python Integration Tests` check, add `proxy_mode: replay` to both
dispatch payloads for parity with the other senders, and fix the PR-comment
link to the new receiver workflow. The dispatch itself was already a single
`python-pr-test` (no per-mode fan-out on the sender).
Follow-up (branch protection, done separately): swap the required-checks
list — remove `Python Proxy Tests / thrift` and `/ kernel`, add
`Python Integration Tests`. Sequenced after this + the receiver land to
avoid a deadlock.
Co-authored-by: Isaac
Signed-off-by: eric-wang-1990 <e.wang@databricks.com>
summary: `Python Proxy Tests (${mode}) are skipped on PRs and run as a required gate in the merge queue. Add the \`integration-test\` label to preview them on this PR.`
162
-
}
163
-
});
164
-
} catch (e) {
165
-
if (isFork && e.status === 403) {
166
-
core.notice(`Fork PR: cannot post the Python Proxy Tests / ${mode} check-run (read-only token). It will be posted by the merge queue at merge time.`);
167
-
} else {
168
-
throw e;
147
+
try {
148
+
await github.rest.checks.create({
149
+
owner: context.repo.owner,
150
+
repo: context.repo.repo,
151
+
name: 'Python Integration Tests',
152
+
head_sha: context.payload.pull_request.head.sha,
153
+
status: 'completed',
154
+
conclusion: 'success',
155
+
completed_at: new Date().toISOString(),
156
+
output: {
157
+
title: 'Skipped on PR — runs in merge queue',
158
+
summary: 'Python Integration Tests are skipped on PRs and run as a required gate in the merge queue. Add the `integration-test` label to preview them on this PR.'
169
159
}
160
+
});
161
+
} catch (e) {
162
+
if (isFork && e.status === 403) {
163
+
core.notice('Fork PR: cannot post the Python Integration Tests check-run (read-only token). It will be posted by the merge queue at merge time.');
summary: `An error occurred while dispatching Python integration tests (${mode}). Check the workflow run logs.`
311
-
}
312
-
});
313
-
}
292
+
await github.rest.checks.create({
293
+
owner: context.repo.owner,
294
+
repo: context.repo.repo,
295
+
name: 'Python Integration Tests',
296
+
head_sha: context.payload.pull_request.head.sha,
297
+
status: 'completed',
298
+
conclusion: 'failure',
299
+
completed_at: new Date().toISOString(),
300
+
output: {
301
+
title: 'Failed — error dispatching tests',
302
+
summary: 'An error occurred while dispatching Python integration tests. Check the workflow run logs.'
303
+
}
304
+
});
314
305
315
306
- name: Comment on PR
316
307
if: steps.changed.outputs.python == 'true'
@@ -321,7 +312,7 @@ jobs:
321
312
owner: context.repo.owner,
322
313
repo: context.repo.repo,
323
314
issue_number: context.issue.number,
324
-
body: 'Integration tests triggered. [View workflow runs](https://github.com/databricks/databricks-driver-test/actions/workflows/databricks-sql-python-proxy-tests.yml). Results post back here as the "Python Proxy Tests / thrift" and "Python Proxy Tests / kernel" checks.'
315
+
body: 'Integration tests triggered. [View workflow runs](https://github.com/databricks/databricks-driver-test/actions/workflows/databricks-python-integration-tests.yml). Result posts back here as the "Python Integration Tests" check.'
0 commit comments