Skip to content

Commit 937fe6c

Browse files
Merge branch 'main' into fix/export-dir-experiments
2 parents 71416e4 + 4b1439b commit 937fe6c

File tree

854 files changed

+20833
-7803
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

854 files changed

+20833
-7803
lines changed

.codegen/_openapi_sha

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8f5eedbc991c4f04ce1284406577b0c92d59a224
1+
e1ea3f5ba0bc5b53be94f56535a67ba701a52a52

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ cmd/workspace/volumes/volumes.go linguist-generated=true
168168
cmd/workspace/warehouses/warehouses.go linguist-generated=true
169169
cmd/workspace/workspace-bindings/workspace-bindings.go linguist-generated=true
170170
cmd/workspace/workspace-conf/workspace-conf.go linguist-generated=true
171+
cmd/workspace/workspace-entity-tag-assignments/workspace-entity-tag-assignments.go linguist-generated=true
171172
cmd/workspace/workspace-iam-v2/workspace-iam-v2.go linguist-generated=true
172173
cmd/workspace/workspace-settings-v2/workspace-settings-v2.go linguist-generated=true
173174
cmd/workspace/workspace/workspace.go linguist-generated=true

.github/CODEOWNERS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
/cmd/workspace/apps/ @databricks/eng-app-devex
88
/libs/apps/ @databricks/eng-app-devex
99
/acceptance/apps/ @databricks/eng-app-devex
10-
/experimental/aitools/ @databricks/eng-app-devex @pietern @lennartkats-db
11-
/experimental/apps-mcp/ @databricks/eng-app-devex @pietern @lennartkats-db
10+
/experimental/aitools/ @databricks/eng-app-devex @lennartkats-db
11+
/experimental/apps-mcp/ @databricks/eng-app-devex @lennartkats-db

.github/ISSUE_TEMPLATE/direct-issue.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
name: Bug report for direct deployment engine for DABs
33
about: Use this to report an issue with direct deployment engine in Databricks Asset Bundles.
4-
labels: DABs engine/direct Bug
4+
labels: ["DABs", "engine/direct", "Bug"]
55
title: ''
66
---
77

.github/workflows/check.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ on:
55
types: [opened, synchronize]
66
merge_group:
77
types: [checks_requested]
8+
push:
9+
# Always run on push to main. The build cache can only be reused
10+
# if it was saved by a run from the repository's default branch.
11+
# The run result will be identical to that from the merge queue
12+
# because the commit is identical, yet we need to perform it to
13+
# seed the build cache.
14+
branches:
15+
- main
816

917
jobs:
1018
lint:

.github/workflows/integration-approve.yml

Lines changed: 0 additions & 34 deletions
This file was deleted.

.github/workflows/integration-main.yml

Lines changed: 0 additions & 36 deletions
This file was deleted.

.github/workflows/integration-pr.yml

Lines changed: 0 additions & 40 deletions
This file was deleted.

.github/workflows/push.yml

Lines changed: 132 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,31 +70,52 @@ jobs:
7070
# Always run all tests
7171
echo "targets=[\"test\"]" >> $GITHUB_OUTPUT
7272
73-
tests:
73+
test:
7474
needs:
7575
- cleanups
7676
- testmask
7777

7878
# Only run if the target is in the list of targets from testmask
7979
if: ${{ contains(fromJSON(needs.testmask.outputs.targets), 'test') }}
80-
runs-on: ${{ matrix.os }}
80+
name: "make test (${{matrix.os.name}}, ${{matrix.deployment}})"
81+
runs-on: ${{ matrix.os.runner }}
8182

8283
strategy:
8384
fail-fast: false
8485
matrix:
86+
# Use separate fields for the OS name and runner configuration.
87+
# When combined in a single object, "runs-on" errors with "Unexpected value 'name'".
8588
os:
86-
- group: databricks-protected-runner-group-large
87-
labels: linux-ubuntu-latest-large
89+
- name: linux
90+
runner:
91+
group: databricks-protected-runner-group-large
92+
labels: linux-ubuntu-latest-large
93+
94+
- name: windows
95+
runner:
96+
group: databricks-protected-runner-group-large
97+
labels: windows-server-latest-large
8898

89-
# On merge_group events, only run the tests on Linux, to reduce time to merge.
90-
- ${{ github.event_name != 'merge_group' && fromJSON('{"group":"databricks-protected-runner-group-large","labels":"windows-server-latest-large"}') || null }}
91-
- ${{ github.event_name != 'merge_group' && 'macos-latest' || null }}
99+
- name: macos
100+
runner:
101+
labels: macos-latest
92102

93103
deployment:
94104
- "terraform"
95105
- "direct"
106+
107+
# Include "event_name" in the matrix so we can include/exclude based on it.
108+
event:
109+
- ${{ github.event_name }}
110+
111+
# Run on Linux only in merge queue to reduce time to merge.
96112
exclude:
97-
- os: null
113+
- event: merge_group
114+
os:
115+
name: windows
116+
- event: merge_group
117+
os:
118+
name: macos
98119

99120
steps:
100121
- name: Checkout repository and submodules
@@ -249,6 +270,35 @@ jobs:
249270
run: |
250271
make test-pipelines
251272
273+
# This job groups the result of all the above test jobs.
274+
# It is a required check, so it blocks auto-merge and the merge queue.
275+
#
276+
# We use `if: always()` to ensure this job runs even when dependencies are skipped.
277+
# Without it, GitHub Actions skips jobs whose dependencies are skipped, which would
278+
# incorrectly block the merge queue when optional test jobs don't run.
279+
#
280+
# The step checks `contains(needs.*.result, 'failure')` to fail if any dependency failed.
281+
# Reference: https://github.com/orgs/community/discussions/25970
282+
test-result:
283+
needs:
284+
- test
285+
- test-exp-aitools
286+
- test-exp-apps-mcp
287+
- test-exp-ssh
288+
- test-pipelines
289+
290+
if: ${{ always() }}
291+
name: test-result
292+
runs-on: ubuntu-latest
293+
294+
steps:
295+
- run: |
296+
if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" ]]; then
297+
echo "One or more required jobs failed ❌"
298+
exit 1
299+
fi
300+
echo "All tests passed ✅"
301+
252302
validate-generated-is-up-to-date:
253303
needs: cleanups
254304
runs-on: ubuntu-latest
@@ -334,3 +384,77 @@ jobs:
334384
335385
exit 1
336386
fi
387+
388+
# Trigger integration tests in a separate repository.
389+
# Requires secrets from "test-trigger-is" environment (not available for fork PRs).
390+
# Auto-approves for merge groups to avoid running twice and queue timeouts.
391+
integration-trigger:
392+
needs:
393+
- testmask
394+
395+
if: >-
396+
(github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork) ||
397+
(github.event_name == 'merge_group') ||
398+
(github.event_name == 'push')
399+
400+
runs-on:
401+
group: databricks-deco-testing-runner-group
402+
labels: ubuntu-latest-deco
403+
404+
environment: "test-trigger-is"
405+
406+
steps:
407+
- name: Generate GitHub App Token
408+
if: ${{ github.event_name == 'pull_request' || github.event_name == 'push' }}
409+
id: generate-token
410+
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
411+
with:
412+
app-id: ${{ secrets.DECO_WORKFLOW_TRIGGER_APP_ID }}
413+
private-key: ${{ secrets.DECO_WORKFLOW_TRIGGER_PRIVATE_KEY }}
414+
owner: ${{ secrets.ORG_NAME }}
415+
repositories: ${{ secrets.REPO_NAME }}
416+
417+
# Trigger integration tests if the primary "test" target is triggered by this change.
418+
- name: Trigger integration tests (pull request)
419+
if: ${{ github.event_name == 'pull_request' && contains(fromJSON(needs.testmask.outputs.targets), 'test') }}
420+
env:
421+
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
422+
run: |-
423+
gh workflow run cli-isolated-pr.yml -R ${{ secrets.ORG_NAME }}/${{ secrets.REPO_NAME }} \
424+
--ref main \
425+
-f pull_request_number=${{ github.event.pull_request.number }} \
426+
-f commit_sha=${{ github.event.pull_request.head.sha }}
427+
428+
# Skip integration tests if the primary "test" target is not triggered by this change.
429+
- name: Skip integration tests (pull request)
430+
if: ${{ github.event_name == 'pull_request' && !contains(fromJSON(needs.testmask.outputs.targets), 'test') }}
431+
env:
432+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
433+
run: |-
434+
gh api -X POST -H "Accept: application/vnd.github+json" \
435+
-H "X-GitHub-Api-Version: 2022-11-28" \
436+
/repos/${{ github.repository }}/statuses/${{ github.event.pull_request.head.sha }} \
437+
-f 'state=success' \
438+
-f 'context=Integration Tests Check' \
439+
-f 'description=⏭️ Skipped'
440+
441+
- name: Auto-approve for merge group
442+
if: ${{ github.event_name == 'merge_group' }}
443+
env:
444+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
445+
run: |-
446+
gh api -X POST -H "Accept: application/vnd.github+json" \
447+
-H "X-GitHub-Api-Version: 2022-11-28" \
448+
/repos/${{ github.repository }}/statuses/${{ github.sha }} \
449+
-f 'state=success' \
450+
-f 'context=Integration Tests Check' \
451+
-f 'description=⏭️ Skipped'
452+
453+
- name: Trigger integration tests (push to main)
454+
if: ${{ github.event_name == 'push' }}
455+
env:
456+
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
457+
run: |-
458+
gh workflow run cli-isolated-nightly.yml -R ${{ secrets.ORG_NAME }}/${{ secrets.REPO_NAME }} \
459+
--ref main \
460+
-f commit_sha=${{ github.event.after }}

.release_metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"timestamp": "2025-11-19 14:13:47+0000"
2+
"timestamp": "2025-12-18 13:04:36+0000"
33
}

0 commit comments

Comments
 (0)