@@ -37,12 +37,12 @@ jobs:
3737 targets : ${{ steps.mask1.outputs.targets || steps.mask2.outputs.targets || steps.mask3.outputs.targets }}
3838 steps :
3939 - name : Checkout repository
40- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2 .2
40+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0 .2
4141 with :
4242 fetch-depth : 0
4343
4444 - name : Setup Go
45- uses : actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2 .0
45+ uses : actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3 .0
4646 with :
4747 go-version-file : tools/go.mod
4848
@@ -119,7 +119,7 @@ jobs:
119119
120120 steps :
121121 - name : Checkout repository and submodules
122- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2 .2
122+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0 .2
123123
124124 - name : Setup build environment
125125 uses : ./.github/actions/setup-build-environment
@@ -145,6 +145,14 @@ jobs:
145145 - name : Analyze slow tests
146146 run : make slowest
147147
148+ - name : Check out.test.toml files are up to date
149+ shell : bash
150+ run : |
151+ if ! git diff --exit-code; then
152+ echo "ERROR: detected changed files in the repository; Most likely you have out.test.toml files that are out of date. Run 'make generate-out-test-toml' to update."
153+ exit 1
154+ fi
155+
148156 test-exp-aitools :
149157 needs :
150158 - cleanups
@@ -166,7 +174,7 @@ jobs:
166174
167175 steps :
168176 - name : Checkout repository and submodules
169- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2 .2
177+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0 .2
170178
171179 - name : Setup build environment
172180 uses : ./.github/actions/setup-build-environment
@@ -197,7 +205,7 @@ jobs:
197205
198206 steps :
199207 - name : Checkout repository and submodules
200- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2 .2
208+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0 .2
201209
202210 - name : Setup build environment
203211 uses : ./.github/actions/setup-build-environment
@@ -228,7 +236,7 @@ jobs:
228236
229237 steps :
230238 - name : Checkout repository and submodules
231- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2 .2
239+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0 .2
232240
233241 - name : Setup build environment
234242 uses : ./.github/actions/setup-build-environment
@@ -273,10 +281,10 @@ jobs:
273281
274282 steps :
275283 - name : Checkout
276- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2 .2
284+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0 .2
277285
278286 - name : Setup Go
279- uses : actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2 .0
287+ uses : actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3 .0
280288 with :
281289 go-version-file : go.mod
282290 # Use different schema from regular job, to avoid overwriting the same key
@@ -335,10 +343,10 @@ jobs:
335343
336344 steps :
337345 - name : Checkout
338- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2 .2
346+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0 .2
339347
340348 - name : Install uv
341- uses : astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3 .0
349+ uses : astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6 .0
342350 with :
343351 version : " 0.6.5"
344352
@@ -354,14 +362,14 @@ jobs:
354362 fi
355363
356364 # Trigger integration tests in a separate repository.
357- # Requires secrets from "test-trigger-is" environment (not available for fork PRs).
365+ # Requires secrets from "test-trigger-is" environment (not available for fork PRs or dependabot ).
358366 # Auto-approves for merge groups to avoid running twice and queue timeouts.
359367 integration-trigger :
360368 needs :
361369 - testmask
362370
363371 if : >-
364- (github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork) ||
372+ (github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork && github.actor != 'dependabot[bot]' ) ||
365373 (github.event_name == 'merge_group') ||
366374 (github.event_name == 'push')
367375
@@ -379,13 +387,26 @@ jobs:
379387 - name : Generate GitHub App Token
380388 if : ${{ github.event_name == 'pull_request' || github.event_name == 'push' }}
381389 id : generate-token
382- uses : actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2 .0.6
390+ uses : actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3 .0.0
383391 with :
384392 app-id : ${{ secrets.DECO_WORKFLOW_TRIGGER_APP_ID }}
385393 private-key : ${{ secrets.DECO_WORKFLOW_TRIGGER_PRIVATE_KEY }}
386394 owner : ${{ secrets.ORG_NAME }}
387395 repositories : ${{ secrets.REPO_NAME }}
388396
397+ - name : Generate GitHub App Token (check runs)
398+ if : >-
399+ (github.event_name == 'merge_group') ||
400+ (github.event_name == 'pull_request' && !contains(fromJSON(needs.testmask.outputs.targets), 'test'))
401+ id : generate-check-token
402+ uses : actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0
403+ with :
404+ app-id : ${{ secrets.DECO_TEST_APPROVAL_APP_ID }}
405+ private-key : ${{ secrets.DECO_TEST_APPROVAL_PRIVATE_KEY }}
406+ # DECO_TEST_APPROVAL is installed on the databricks org (not databricks-eng).
407+ owner : databricks
408+ repositories : cli
409+
389410 # Trigger integration tests if the primary "test" target is triggered by this change.
390411 - name : Trigger integration tests (pull request)
391412 if : ${{ github.event_name == 'pull_request' && (contains(fromJSON(needs.testmask.outputs.targets), 'test') || contains(fromJSON(needs.testmask.outputs.targets), 'test-exp-ssh')) }}
@@ -403,6 +424,7 @@ jobs:
403424 if : ${{ github.event_name == 'pull_request' && !contains(fromJSON(needs.testmask.outputs.targets), 'test') && !contains(fromJSON(needs.testmask.outputs.targets), 'test-exp-ssh') }}
404425 uses : actions/github-script@v8
405426 with :
427+ github-token : ${{ steps.generate-check-token.outputs.token }}
406428 script : |
407429 await github.rest.checks.create({
408430 owner: context.repo.owner,
@@ -423,6 +445,7 @@ jobs:
423445 if : ${{ github.event_name == 'merge_group' }}
424446 uses : actions/github-script@v8
425447 with :
448+ github-token : ${{ steps.generate-check-token.outputs.token }}
426449 script : |
427450 await github.rest.checks.create({
428451 owner: context.repo.owner,
@@ -445,3 +468,37 @@ jobs:
445468 gh workflow run cli-isolated-nightly.yml -R ${{ secrets.ORG_NAME }}/${{ secrets.REPO_NAME }} \
446469 --ref main \
447470 -f commit_sha=${{ github.event.after }}
471+
472+ # Skip integration tests for dependabot PRs.
473+ # Dependabot has no access to the "test-trigger-is" environment secrets,
474+ # so we use the built-in GITHUB_TOKEN to mark the required "Integration
475+ # Tests" check as passed.
476+ integration-trigger-dependabot :
477+ if : >-
478+ github.event_name == 'pull_request' &&
479+ github.actor == 'dependabot[bot]'
480+
481+ runs-on :
482+ group : databricks-deco-testing-runner-group
483+ labels : ubuntu-latest-deco
484+
485+ permissions :
486+ checks : write
487+
488+ steps :
489+ - name : Skip integration tests
490+ uses : actions/github-script@v8
491+ with :
492+ script : |-
493+ await github.rest.checks.create({
494+ owner: context.repo.owner,
495+ repo: context.repo.repo,
496+ name: 'Integration Tests',
497+ head_sha: '${{ github.event.pull_request.head.sha }}',
498+ status: 'completed',
499+ conclusion: 'success',
500+ output: {
501+ title: 'Integration Tests',
502+ summary: '⏭️ Skipped (dependabot PR)'
503+ }
504+ });
0 commit comments