Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 2 additions & 9 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,8 @@ repos:
(?x)
^airflow-core/docs/img/.*\.dot$|
^dev/breeze/doc/images/output.*$|
^.*/openapi-gen/.*$
^.*/openapi-gen/.*$|
^airflow-ctl/docs/images/.*\.svg$
- id: fix-encoding-pragma
name: Remove encoding header from Python files
args:
Expand Down Expand Up @@ -1338,14 +1339,6 @@ repos:
files: ^airflow-core/src/airflow/migrations/versions/.*\.py$
exclude:
airflow-core/src/airflow/migrations/versions/0028_3_0_0_drop_ab_user_id_foreign_key.py
- id: generate-airflowctl-help-images
name: Generate SVG from Airflow CTL Commands
entry: ./scripts/ci/pre_commit/capture_airflowctl_help.py
language: python
pass_filenames: false
files:
^airflow-ctl/src/airflowctl/api/operations.py|airflow-ctl/src/airflowctl/cli/.*\.py$
additional_dependencies: ['rich>=12.4.4']
- id: go-mockery
name: Generate mocks for go
entry: -w /src/go-sdk vektra/mockery:3
Expand Down
28 changes: 14 additions & 14 deletions airflow-ctl/docs/images/command_hashes.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
main:8c61e3718e03aca03d819dce9973d56d
assets:6368874514661d8ef3d58e3b925e4ec1
auth:caba04038826ae684922b9a7c42fc523
backfills:10f1ac9cf1aa90d47006f23fc73cef38
config:30215b244ab1e713df78813011449122
connections:7f251b3b6005583c685218a264b47587
dag:74332efb98c229cc90de9aeb1e87d58e
dagrun:f4ca499bcfc98265c065d06bf685ce87
jobs:3675ee646892500ea45b0a17bf52ca07
pools:5b1694055cea03e20468258200a18212
providers:beb417fce0c8a6cafcdab36e0e692579
variables:0d276ede752bad613823821ec2a2d7cb
version:dd32fbd1740003c2aaa30cd6a201dacd
auth login:8bcfaaf886b64c3d2e81d7e1c767b4b2
main:8d768c837899829dfd21d37253d2fb44
assets:b3ae2b933e54528bf486ff28e887804d
auth:f396d4bce90215599dde6ad0a8f30f29
backfills:725109470cd2613de8cc8af022fb54bc
config:cb175bedf29e8a2c2c6a2ebd13d770a7
connections:3614621ec6ef503b46c69bf5aaf3018b
dag:f4a1936ebf330773001d6d04f65c3249
dagrun:8381fea6a9119b9ebba1b39261ac68a4
jobs:7f8680afff230eb9940bc7fca727bd52
pools:03fc7d948cbecf16ff8d640eb8f0ce43
providers:1c0afb2dff31d93ab2934b032a2250ab
variables:0b04188937b3c364204ef4cc9a541c62
version:000176f03a175890b12181c8569e2d0f
auth login:5277c653ff6dce51f37472dc0bda9775
4 changes: 2 additions & 2 deletions airflow-ctl/docs/images/output_assets.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions airflow-ctl/docs/images/output_auth.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions airflow-ctl/docs/images/output_auth_login.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions airflow-ctl/docs/images/output_backfills.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions airflow-ctl/docs/images/output_config.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions airflow-ctl/docs/images/output_connections.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions airflow-ctl/docs/images/output_dag.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions airflow-ctl/docs/images/output_dagrun.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions airflow-ctl/docs/images/output_jobs.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions airflow-ctl/docs/images/output_main.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions airflow-ctl/docs/images/output_pools.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions airflow-ctl/docs/images/output_providers.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions airflow-ctl/docs/images/output_variables.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions airflow-ctl/docs/images/output_version.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 1 addition & 2 deletions contributing-docs/08_static_code_checks.rst
Original file line number Diff line number Diff line change
Expand Up @@ -281,8 +281,7 @@ require Breeze Docker image to be built locally.
+-----------------------------------------------------------+--------------------------------------------------------+---------+
| generate-airflowctl-datamodels | Generate Datamodels for AirflowCTL | * |
+-----------------------------------------------------------+--------------------------------------------------------+---------+
| generate-airflowctl-help-images | * Generate SVG from Airflow CTL Commands | * |
| | * Generate SVG from Airflow CTL Commands | |
| generate-airflowctl-help-images | Generate SVG from Airflow CTL Commands | * |
+-----------------------------------------------------------+--------------------------------------------------------+---------+
| generate-openapi-spec | Generate the FastAPI API spec | * |
+-----------------------------------------------------------+--------------------------------------------------------+---------+
Expand Down
14 changes: 12 additions & 2 deletions scripts/in_container/run_capture_airflowctl_help.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

import hashlib
import os
import subprocess
import sys
from pathlib import Path

Expand Down Expand Up @@ -59,16 +60,25 @@
# Get new hashes
def get_airflowctl_command_hash_dict(commands):
hash_dict = {}
env = os.environ.copy()
env["CI"] = "true" # Set CI environment variable to ensure consistent behavior
env["COLUMNS"] = "80"
for command in commands:
help_text = os.popen(f"python {AIRFLOW_CTL_SOURCES_PATH}/airflowctl/__main__.py {command} -h").read()
output = subprocess.check_output(
[f"python {AIRFLOW_CTL_SOURCES_PATH}/airflowctl/__main__.py {command} -h"],
shell=True,
text=True,
env=env,
)
help_text = output.strip()
hash_dict[command if command != "" else "main"] = hashlib.md5(help_text.encode("utf-8")).hexdigest()
return hash_dict


def regenerate_help_images_for_all_airflowctl_commands(commands: list[str]) -> int:
hash_file = AIRFLOWCTL_IMAGES_PATH / "command_hashes.txt"
os.makedirs(AIRFLOWCTL_IMAGES_PATH, exist_ok=True)
console = Console(color_system="standard", record=True)
console = Console(color_system="standard", record=True, width=80)
env = os.environ.copy()
env["TERM"] = "xterm-256color"

Expand Down