Skip to content

Commit 5e68e28

Browse files
committed
ci: integrate alembic check
1 parent c37e6eb commit 5e68e28

File tree

6 files changed

+61
-5
lines changed

6 files changed

+61
-5
lines changed

.pre-commit-config.yaml

+7
Original file line numberDiff line numberDiff line change
@@ -1387,4 +1387,11 @@ repos:
13871387
require_serial: true
13881388
pass_filenames: false
13891389
files: ^airflow-core/src/airflow/config_templates/config\.yml$
1390+
- id: check-model-changes
1391+
name: Check if model changes require DB migration
1392+
entry: ./scripts/ci/pre_commit/check_model_changes.py
1393+
language: python
1394+
additional_dependencies: ['rich>=12.4.4']
1395+
files: ^airflow-core/src/airflow/models/.*\.py$
1396+
require_serial: true
13901397
## ONLY ADD PRE-COMMITS HERE THAT REQUIRE CI IMAGE

contributing-docs/08_static_code_checks.rst

+2
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,8 @@ require Breeze Docker image to be built locally.
197197
+-----------------------------------------------------------+--------------------------------------------------------+---------+
198198
| check-min-python-version | Check minimum Python version | |
199199
+-----------------------------------------------------------+--------------------------------------------------------+---------+
200+
| check-model-changes | Check if model changes require DB migration | * |
201+
+-----------------------------------------------------------+--------------------------------------------------------+---------+
200202
| check-newsfragments-are-valid | Check newsfragments are valid | |
201203
+-----------------------------------------------------------+--------------------------------------------------------+---------+
202204
| check-no-airflow-deprecation-in-providers | Do not use DeprecationWarning in providers | |

dev/breeze/doc/images/output_static-checks.svg

+4-4
Loading
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
651b0a909a13812254e531ed04ff609c
1+
4e41a38d69485a6c2a3c4022e241aeba

dev/breeze/src/airflow_breeze/pre_commit_ids.py

+1
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
"check-links-to-example-dags-do-not-use-hardcoded-versions",
6363
"check-merge-conflict",
6464
"check-min-python-version",
65+
"check-model-changes",
6566
"check-newsfragments-are-valid",
6667
"check-no-airflow-deprecation-in-providers",
6768
"check-no-providers-in-core-examples",
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#!/usr/bin/env python
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing,
13+
# software distributed under the License is distributed on an
14+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
# KIND, either express or implied. See the License for the
16+
# specific language governing permissions and limitations
17+
# under the License.
18+
19+
from __future__ import annotations
20+
21+
import sys
22+
from pathlib import Path
23+
24+
sys.path.insert(0, str(Path(__file__).parent.resolve()))
25+
from common_precommit_utils import (
26+
initialize_breeze_precommit,
27+
run_command_via_breeze_shell,
28+
validate_cmd_result,
29+
)
30+
31+
initialize_breeze_precommit(__name__, __file__)
32+
result = run_command_via_breeze_shell(
33+
[
34+
"bash",
35+
"-c",
36+
"cd airflow-core/src/airflow && alembic check",
37+
],
38+
backend="sqlite",
39+
warn_image_upgrade_needed=True,
40+
skip_environment_initialization=False,
41+
extra_env={
42+
"DB_RESET": "true",
43+
},
44+
)
45+
46+
validate_cmd_result(result, include_ci_env_check=True)

0 commit comments

Comments
 (0)