Skip to content

Split trigger-tests job and route workflow dispatch through emu-access runner#1883

Open
mihaimitrea-db wants to merge 1 commit intomainfrom
mihaimitrea-db/unblock-trigger-tests-emu-access
Open

Split trigger-tests job and route workflow dispatch through emu-access runner#1883
mihaimitrea-db wants to merge 1 commit intomainfrom
mihaimitrea-db/unblock-trigger-tests-emu-access

Conversation

@mihaimitrea-db
Copy link
Copy Markdown

@mihaimitrea-db mihaimitrea-db commented Apr 20, 2026

Summary

Fix the PR-triggered Integration Tests check, which has failed on every PR since the databricks org tightened its IP allow list (2026-04-17 – 2026-04-20).

What changed

.github/workflows/integration-tests.yml — split the old trigger-tests job in two:

Job Runner group Responsibility
create-check databricks-protected-runner-group Create the Integration Tests check run on this repo.
trigger-tests databricks-release-runner-group-emu-access workflow_dispatch into databricks-eng/eng-dev-ecosystem.

The check_run_id is now passed between jobs via needs.create-check.outputs.check_run_id.

Why

Before the allow-list change, both steps ran on databricks-protected-runner-group. After it, that pool's egress IPs can no longer reach the databricks-eng org, so:

  • actions/create-github-app-token (owner ${{ secrets.ORG_NAME }} = databricks-eng) hits /repos/databricks-eng/.../installationHTTP 403.
  • The downstream gh workflow run vscode-isolated-pr.yml dispatch never fires.
  • PRs look broken; merges still happen because merge_group auto-approves the check without actually running tests.

The databricks-release-runner-group-emu-access pool's egress IPs are on the databricks-eng allow list, so moving just the cross-org dispatch step there restores the flow. create-check stays on the protected group because creating a check run on this repo doesn't need cross-org access.

Where this comes from

Ported from sibling repos that have already shipped the same fix:

Private-side counterpart (already merged): databricks-eng/eng-dev-ecosystem#1254.

How is this tested

This PR's own Integration Tests run is the test. Expected outcome:

  • create-check succeeds; check run appears on PR head.
  • trigger-tests runs on the emu-access runner, create-github-app-token succeeds (no 403), and a vscode-isolated-pr workflow_dispatch event appears on databricks-eng/eng-dev-ecosystem.
  • The Integration Tests check transitions queuedin_progresssuccess / failure.

NO_CHANGELOG=true

This pull request and its description were written by Isaac.

…s runner

Fixes automated Integration Tests for PRs on this repo. Splits trigger-tests
into create-check (stays on databricks-protected-runner-group, creates the
check run on this repo) and trigger-tests (moves to
databricks-release-runner-group-emu-access to perform the cross-org
dispatch to databricks-eng/eng-dev-ecosystem).

Since the databricks org tightened its IP allow list, the protected
runner group can no longer call /repos/databricks-eng/.../installation,
so create-github-app-token for the workflow-trigger app fails with 403
and no dispatch is sent. The emu-access runner pool's egress IPs are
on the allow list.

Ports the fix from databricks/databricks-sdk-go#1638.

Co-authored-by: Isaac
@github-actions
Copy link
Copy Markdown
Contributor

If integration tests don't run automatically, an authorized user can run them manually by following the instructions below:

Trigger:
go/deco-tests-run/vscode

Inputs:

  • PR number: 1883
  • Commit SHA: 041b86a6f5dcff951624a40541aab526d5b76afe

Checks will be approved automatically on success.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants