test: smoke-test proxy IT dispatch workflow (DO NOT MERGE)#800
test: smoke-test proxy IT dispatch workflow (DO NOT MERGE)#800vikrantpuppala wants to merge 2 commits into
Conversation
Trivial docstring addition touching `src/` to exercise the
.github/workflows/trigger-integration-tests.yml dispatch path
end-to-end:
- On PR open: skip-integration-tests-pr should post a synthetic
`success` Python Proxy Tests check.
- Add `integration-test` label: trigger-tests-pr should
dispatch to databricks/databricks-driver-test.
- Push a new commit: remove-label-on-new-commit should clear
the label and post the security-reset comment.
Not for merge — close after smoke test confirms the workflow
behaves end-to-end.
Co-authored-by: Isaac
Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>
Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>
|
Integration test approval reset. New commits were pushed to this PR. The A maintainer must re-review the changes and re-add the label to trigger tests again. Latest commit: 9ed6916 |
Smoke-test resultsEnd-to-end exercise of the IT dispatch workflow added in #799. Results: What worked ✅
What broke (expected, secrets not installed)
|
* ci(integration-tests): use github.token for check-run posters Follow-up to #799. The dispatch failure handlers and auto-pass steps were posting check-runs with `steps.public-token.outputs.token`, which is itself an App-token-generating step. That created a silent-failure trap: if the App secrets are missing or rotated, the App-token step fails, then the failure handler also fails (no token to authenticate with), and the gate sits green from the earlier `skip-integration-tests-pr` job's synthetic-success check — the exact silent-pass anti-pattern the failure handler exists to prevent. Discovered by exercising the dispatch end-to-end on a draft PR before the App secrets were installed (#800 closed). The canonical adbc-drivers/databricks workflow has the same latent bug — fix not yet upstreamed there. The fix is to use the default workflow `${{ github.token }}` for all check-posting steps. The default token already has `checks: write` because each job declares the permission. `steps.public-token` is no longer referenced anywhere; the generation step is removed to keep the workflow tidy. The App token is still used (correctly) for the actual dispatch call into databricks-driver-test, where cross-repo write access is required. Co-authored-by: Isaac Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com> * test(retry): isolate retry tests from shared telemetry executor The e2e retry tests in retry_test_mixins.py assert exact urllib3 call counts (e.g. `mock_validate_conn.call_count == 6`) while mocking urllib3 globally via `_validate_conn` / `_get_conn`. The shared `TelemetryClientFactory` executor — populated by *prior* tests in the same worker — keeps firing background telemetry pushes that land on the same mocked urllib3 layer, inflating the counts and tripping the assertions. Drain the factory and route any new `initialize_telemetry_client` call to `NoopTelemetryClient` for the duration of the three tests that assert exact counts: - test_oserror_retries - test_retry_max_count_not_exceeded - test_retry_exponential_backoff Factory state is fully restored on exit so subsequent tests see the real telemetry pipeline. Co-authored-by: Isaac --------- Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>
Purpose
End-to-end smoke test of the IT dispatch workflow added in #799. Not for merge — closing after the smoke test confirms the workflow behaves correctly.
Diff
A 5-line docstring addition in `src/databricks/sql/backend/kernel/init.py` — touches `src/` so the changed-paths filter in `trigger-tests-pr` fires.
Expected behaviour to verify
Phase 1 — PR opened (this commit)
Phase 2 — apply `integration-test` label
Phase 3 — push a new commit
Phase 4 — cleanup
Out of scope
This PR doesn't verify the merge queue path (`merge-queue-python` job). That requires merge queue to be enabled on `main` branch protection (operational step, separate from this PR).
This pull request and its description were AI-assisted by Isaac.