Skip to content

Commit 6fbf5ae

Browse files
mwojtyczkatlgnr
andauthored
Use single lakebase instance for all integration tests and add retry logic (#618)
## Changes <!-- Summary of your changes that are easy to understand. Add screenshots when necessary --> * Create a single lakebase instance for all tests. * Implement retry logic in case workspace quota limit for the number of lakebase instances is exceeded. * Bumped pytester version. * Bumped hatch version to avoid click compatibility issues. ### Tests <!-- How is this tested? Please see the checklist below and also describe any other relevant tests --> - [x] manually tested - [ ] added unit tests - [x] added integration tests - [ ] added end-to-end tests - [ ] added performance tests --------- Co-authored-by: Manuel Tilgner <[email protected]>
1 parent 8783f20 commit 6fbf5ae

File tree

14 files changed

+143
-99
lines changed

14 files changed

+143
-99
lines changed

.github/workflows/acceptance.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,7 @@ jobs:
4141
python-version: '3.12'
4242

4343
- name: Install hatch
44-
# click 8.3+ introduced bug for hatch
45-
run: pip install "hatch==1.13.0" "click<8.3"
44+
run: pip install hatch==1.15.0
4645

4746
- name: Run unit tests and generate test coverage report
4847
run: make test
@@ -94,8 +93,7 @@ jobs:
9493
python-version: '3.12'
9594

9695
- name: Install hatch
97-
# click 8.3+ introduced bug for hatch
98-
run: pip install "hatch==1.13.0" "click<8.3"
96+
run: pip install hatch==1.15.0
9997

10098
- name: Run integration tests on serverless cluster
10199
uses: databrickslabs/sandbox/acceptance@acceptance/v0.4.4
@@ -127,8 +125,7 @@ jobs:
127125
python-version: '3.12'
128126

129127
- name: Install hatch
130-
# click 8.3+ introduced bug for hatch
131-
run: pip install "hatch==1.13.0" "click<8.3"
128+
run: pip install hatch==1.15.0
132129

133130
- name: Install Databricks CLI
134131
run: |
@@ -180,8 +177,7 @@ jobs:
180177
python-version: '3.12'
181178

182179
- name: Install hatch
183-
# click 8.3+ introduced bug for hatch
184-
run: pip install "hatch==1.13.0" "click<8.3"
180+
run: pip install hatch==1.15.0
185181

186182
- name: Install Databricks CLI
187183
run: |

.github/workflows/docs-release.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ jobs:
2828

2929
- name: Install Hatch
3030
run: |
31-
# click 8.3+ introduced bug for hatch
32-
pip install "hatch==1.13.0" "click<8.3"
31+
pip install hatch==1.15.0
3332
3433
- uses: actions/setup-node@v4
3534
with:

.github/workflows/downstreams.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ jobs:
4343

4444
- name: Install toolchain
4545
run: |
46-
# click 8.3+ introduced bug for hatch
47-
pip install "hatch==1.13.0" "click<8.3"
46+
pip install hatch==1.15.0
4847
4948
- name: Check downstream compatibility
5049
uses: databrickslabs/sandbox/downstreams@downstreams/v0.0.1

.github/workflows/nightly.yml

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ jobs:
3232
python-version: '3.12'
3333

3434
- name: Install hatch
35-
# click 8.3+ introduced bug for hatch
36-
run: pip install "hatch==1.13.0" "click<8.3"
35+
run: pip install hatch==1.15.0
3736

3837
- name: Run unit tests and generate test coverage report
3938
run: make test
@@ -82,8 +81,7 @@ jobs:
8281
python-version: '3.12'
8382

8483
- name: Install hatch
85-
# click 8.3+ introduced bug for hatch
86-
run: pip install "hatch==1.13.0" "click<8.3"
84+
run: pip install hatch==1.15.0
8785

8886
- name: Run integration tests on serverless cluster
8987
uses: databrickslabs/sandbox/acceptance@acceptance/v0.4.4
@@ -115,8 +113,7 @@ jobs:
115113
python-version: '3.12'
116114

117115
- name: Install hatch
118-
# click 8.3+ introduced bug for hatch
119-
run: pip install "hatch==1.13.0" "click<8.3"
116+
run: pip install hatch==1.15.0
120117

121118
- name: Install Databricks CLI
122119
run: |
@@ -167,8 +164,7 @@ jobs:
167164
python-version: '3.12'
168165

169166
- name: Install hatch
170-
# click 8.3+ introduced bug for hatch
171-
run: pip install "hatch==1.13.0" "click<8.3"
167+
run: pip install hatch==1.15.0
172168

173169
- name: Install Databricks CLI
174170
run: |
@@ -221,8 +217,7 @@ jobs:
221217
python-version: '3.12'
222218

223219
- name: Install hatch
224-
# click 8.3+ introduced bug for hatch
225-
run: pip install "hatch==1.13.0" "click<8.3"
220+
run: pip install hatch==1.15.0
226221

227222
- name: Login to Azure for azure-cli authentication
228223
uses: azure/login@v2

.github/workflows/performance.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ jobs:
4343
cache-dependency-path: '**/pyproject.toml'
4444

4545
- name: Install hatch
46-
# click 8.3+ introduced bug for hatch
47-
run: pip install "hatch==1.13.0" "click<8.3"
46+
run: pip install hatch==1.15.0
4847

4948
- name: Login to Azure for azure-cli authentication
5049
uses: azure/login@v2

.github/workflows/push.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,7 @@ jobs:
3737

3838
- name: Run unit tests
3939
run: |
40-
# click 8.3+ introduced bug for hatch
41-
pip install "hatch==1.13.0" "click<8.3"
40+
pip install hatch==1.15.0
4241
make test
4342
4443
fmt:
@@ -70,8 +69,7 @@ jobs:
7069

7170
- name: Install Hatch
7271
run: |
73-
# click 8.3+ introduced bug for hatch
74-
pip install "hatch==1.13.0" "click<8.3"
72+
pip install hatch==1.15.0
7573
7674
- uses: actions/setup-node@v4
7775
with:

.github/workflows/release.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ jobs:
2727

2828
- name: Build wheels
2929
run: |
30-
# click 8.3+ introduced bug for hatch
31-
pip install "hatch==1.13.0" "click<8.3"
30+
pip install hatch==1.15.0
3231
hatch build
3332
3433
- name: Github release

docs/dqx/docs/guide/quality_checks_apply.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ You can apply quality checks to your data using the following approaches:
1515

1616
DQX offers a set of predefined built-in quality rules (checks) as described [here](/docs/guide/quality_checks_definition).
1717
All DQX rules are evaluated independently and in parallel. If one rule fails, the others are still processed.
18+
All rule types, including row-level and dataset-level rules, can be applied together in a single execution.
1819

1920
## Programmatic approach
2021

docs/dqx/docs/reference/quality_checks.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ This page provides a reference for the quality check functions available in DQX.
1212
The terms `checks` and `rules` are used interchangeably in the documentation, as they are synonymous in DQX.
1313

1414
All DQX rules are evaluated independently and in parallel. If one rule fails, the others are still processed.
15+
All rule types, including row-level and dataset-level rules, can be defined and applied simultaneously in a single execution.
1516

1617
You can explore the implementation details of the check functions [here](https://github.com/databrickslabs/dqx/blob/v0.9.3/src/databricks/labs/dqx/check_funcs.py).
1718

@@ -1372,7 +1373,7 @@ checks = [
13721373

13731374
Dataset-level checks are applied to group of rows in a PySpark DataFrame.
13741375
Similar to row-level checks, the results of these quality checks are reported for each individual row in the result columns.
1375-
That means you can define and apply row-level and dataset-level checks at once.
1376+
That means you can define and apply row-level and dataset-level checks together.
13761377

13771378
Dataset-level checks are useful for validating aggregated values of the entire DataFrame or groups of rows within the DataFrame,
13781379
such as ensuring that the number of rows does not exceed a certain limit or that the sum of a column is within a specified range.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ dependencies = [
8383
"chispa~=0.10.1",
8484
"coverage[toml]~=7.4.4",
8585
"databricks-labs-pylint~=0.5",
86-
"databricks-labs-pytester~=0.7.2",
86+
"databricks-labs-pytester~=0.7.4",
8787
"mypy~=1.9.0",
8888
"pylint~=3.3.1",
8989
"pylint-per-file-ignores~=1.3",

0 commit comments

Comments
 (0)