Skip to content

Commit 530cb26

Browse files
ci(ci): trigger REST integration tests when SEA path is touched [PECO-2945] (#315)
Detect changes under csharp/src/StatementExecution/ and dispatch a second adbc-csharp-pr-test event with databricks_protocol=rest. Applies to both PR-label and merge queue. Thrift tests unaffected. Closes PECO-2945 --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 8e58b0e commit 530cb26

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

.github/workflows/trigger-integration-tests.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,12 +176,15 @@ jobs:
176176
const csharpChanged = names.some(f => f.startsWith('csharp/'));
177177
const rustChanged = names.some(f => f.startsWith('rust/'));
178178
const workflowChanged = names.some(f => f.startsWith('.github/workflows/'));
179+
const seaChanged = names.some(f => f.startsWith('csharp/src/StatementExecution/'));
179180
// Workflow change triggers all targets; otherwise only changed driver folders
180181
const runCsharp = csharpChanged || workflowChanged;
181182
const runRust = rustChanged || workflowChanged;
182183
if (workflowChanged) console.log('✅ Workflow files changed - triggering all targets');
184+
if (seaChanged) console.log('✅ SEA/REST files changed - will also trigger REST integration tests');
183185
core.setOutput('csharp', runCsharp.toString());
184186
core.setOutput('rust', runRust.toString());
187+
core.setOutput('sea', seaChanged.toString());
185188
186189
- name: Generate GitHub App Token (internal repo)
187190
id: app-token
@@ -218,6 +221,24 @@ jobs:
218221
"pr_author": "${{ github.event.pull_request.user.login }}"
219222
}
220223
224+
- name: Dispatch C# REST tests to internal repo
225+
if: steps.changed.outputs.sea == 'true'
226+
uses: peter-evans/repository-dispatch@v3
227+
with:
228+
token: ${{ steps.app-token.outputs.token }}
229+
repository: databricks/databricks-driver-test
230+
event-type: adbc-csharp-pr-test
231+
client-payload: |
232+
{
233+
"pr_number": "${{ github.event.pull_request.number }}",
234+
"commit_sha": "${{ github.event.pull_request.head.sha }}",
235+
"pr_repo": "${{ github.repository }}",
236+
"pr_url": "${{ github.event.pull_request.html_url }}",
237+
"pr_title": "${{ github.event.pull_request.title }}",
238+
"pr_author": "${{ github.event.pull_request.user.login }}",
239+
"extra_parameters": "{\"adbc.databricks.protocol\": \"rest\"}"
240+
}
241+
221242
- name: Dispatch Rust tests to internal repo
222243
if: steps.changed.outputs.rust == 'true'
223244
uses: peter-evans/repository-dispatch@v3
@@ -307,6 +328,11 @@ jobs:
307328
else
308329
echo "changed=false" >> $GITHUB_OUTPUT && echo "⏭️ No C# files changed"
309330
fi
331+
if echo "$CHANGED" | grep -q "^csharp/src/StatementExecution/"; then
332+
echo "sea=true" >> $GITHUB_OUTPUT && echo "✅ SEA/REST files changed - will also trigger REST integration tests"
333+
else
334+
echo "sea=false" >> $GITHUB_OUTPUT
335+
fi
310336
311337
- name: Generate GitHub App Token (public repo)
312338
id: adbc-token
@@ -369,6 +395,24 @@ jobs:
369395
"pr_author": "merge-queue"
370396
}
371397
398+
- name: Dispatch C# REST tests
399+
if: steps.changed.outputs.sea == 'true'
400+
uses: peter-evans/repository-dispatch@v3
401+
with:
402+
token: ${{ steps.app-token.outputs.token }}
403+
repository: databricks/databricks-driver-test
404+
event-type: adbc-csharp-pr-test
405+
client-payload: |
406+
{
407+
"pr_number": "${{ steps.extract-pr.outputs.pr_number }}",
408+
"commit_sha": "${{ github.event.merge_group.head_sha }}",
409+
"pr_repo": "${{ github.repository }}",
410+
"pr_url": "https://github.com/${{ github.repository }}/pull/${{ steps.extract-pr.outputs.pr_number }}",
411+
"pr_title": "Merge queue validation",
412+
"pr_author": "merge-queue",
413+
"extra_parameters": "{\"adbc.databricks.protocol\": \"rest\"}"
414+
}
415+
372416
- name: Fail check on dispatch error
373417
if: failure() && steps.changed.outputs.changed == 'true'
374418
uses: actions/github-script@v7

csharp/src/StatementExecution/StatementExecutionClient.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// test: dummy change to verify SEA path triggers REST integration tests (PECO-2945)
12
/*
23
* Copyright (c) 2025 ADBC Drivers Contributors
34
*

0 commit comments

Comments
 (0)