@@ -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
0 commit comments