Skip to content

Commit 3c5b176

Browse files
authored
Check downstream backwards compatibility (#600)
## Changes Comments on PR whenever downstream fails to compile or fails unit tests. See implementation for more details: - databrickslabs/sandbox#141 Backwards incompatible changes would result in comments similar to: <img width="832" alt="image" src="https://github.com/databricks/databricks-sdk-py/assets/259697/b1554491-6a80-417b-a2be-1350fa09b424"> Current downstream checking graph: ```mermaid graph TD pysdk[Python SDK: ***this PR***] --> ucx pysdk --> blueprint blueprint --> lsql blueprint --> ucx blueprint --> remorph lsql --> ucx lsql --> remorph ``` ## Tests Manual --------- Signed-off-by: Serge Smertin <[email protected]>
1 parent d91f353 commit 3c5b176

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

.github/workflows/downstreams.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: downstreams
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize]
6+
merge_group:
7+
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
16+
17+
permissions:
18+
id-token: write
19+
contents: read
20+
pull-requests: write
21+
22+
jobs:
23+
compatibility:
24+
strategy:
25+
fail-fast: false
26+
matrix:
27+
downstream:
28+
- name: ucx
29+
org: databrickslabs
30+
- name: blueprint
31+
org: databrickslabs
32+
runs-on: ubuntu-latest
33+
steps:
34+
- name: Checkout
35+
uses: actions/checkout@v3
36+
with:
37+
fetch-depth: 0
38+
39+
- name: Install Python
40+
uses: actions/setup-python@v4
41+
with:
42+
python-version: '3.10'
43+
44+
- name: Install toolchain
45+
run: |
46+
pip install hatch==1.9.4
47+
48+
- name: Acceptance
49+
uses: databrickslabs/sandbox/downstreams@downstreams/v0.0.1
50+
with:
51+
repo: ${{ matrix.downstream.name }}
52+
org: ${{ matrix.downstream.org }}
53+
env:
54+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)