Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
182 commits
Select commit Hold shift + click to select a range
6c8a82c
Fix KubernetesJobOperator.get_or_create_pod() sometimes creating dupl…
Jul 4, 2025
adf5912
add timeout to get_or_create_pod using pod_creation_timeout parameter
Jul 11, 2025
c9818a9
shorten timeout for test
Jul 11, 2025
db1acaf
Exclude "openapi.merged.json" from built .sdist and .whl distribution…
potiuk Jul 5, 2025
5193ae3
Move all BaseHook usages to version_compat in HTTP (#52814)
sunank200 Jul 5, 2025
b3f5ea0
Replace BaseHook to Task SDK for microsoft azure (#52821)
fweilun Jul 5, 2025
014dfbe
Reset grid dagrun query cache on trigger so that the new dagrun is fe…
tirkarthi Jul 5, 2025
97a3616
Slightly speed up package preparation and upgrade latest build deps (…
potiuk Jul 5, 2025
094147a
Advanced auto classification for provider documentation (#52902)
amoghrajesh Jul 5, 2025
de08dfb
Moving BaseHook usages to version_compat for pinecone (#52911)
amoghrajesh Jul 6, 2025
412062b
Moving BaseHook usages to version_compat for samba (#52913)
amoghrajesh Jul 6, 2025
badb263
Moving BaseHook usages to version_compat for segment (#52914)
amoghrajesh Jul 6, 2025
83699e0
Moving BaseHook usages to version_compat for salesforce (#52912)
amoghrajesh Jul 6, 2025
4fc4e49
docs: Correct TaskFlow capitalization in documentation (#51794)
Jasperora Jul 6, 2025
128c230
Fix sbom conditions in publish workflow (#52935)
gopidesupavan Jul 6, 2025
9492201
Add clarification for using short names with --exclude-docs (#52934)
eladkal Jul 6, 2025
90843ad
Make sure generate providers metadata is done with default python (#5…
potiuk Jul 6, 2025
3a30164
Use appropriate namespace in translation key. (#52933)
tirkarthi Jul 6, 2025
eeaa01c
fix flakiness (#52936)
xBis7 Jul 6, 2025
dc6e7a8
Workaround the need to use latest version on Lucas pre-commit's (#52931)
potiuk Jul 6, 2025
f7c1377
Move all BaseHook usages to version_compat in Datadog (#52801)
sunank200 Jul 6, 2025
4cd149e
Replace BaseHook to Task SDK for google (#52809)
fweilun Jul 6, 2025
70a56f2
Move all BaseHook usages to version_compat in cohere (#52799)
sunank200 Jul 6, 2025
9d3961f
Move all BaseHook usages to version_compat in FTP (#52808)
sunank200 Jul 6, 2025
a13c7df
Move all BaseHook usages to version_compat in HashiCorp (#52812)
sunank200 Jul 6, 2025
537e5bb
Move all BaseHook usages to version_compat in openai (#52819)
mingdaoy Jul 6, 2025
4a02fbc
Remove deprecation in Edge for DEFAULT_QUEUE (#52954)
jscheffl Jul 6, 2025
e30d723
Add Docaposte In The Wild (#52955)
albundy83 Jul 6, 2025
5f92659
Fix example dag example_external_task_parent_deferrable.py imports (#…
gopidesupavan Jul 6, 2025
3d4f440
Moving BaseHook usages to version_compat for smtp (#52950)
amoghrajesh Jul 7, 2025
fd9dbdb
Moving BaseHook usages to version_compat for openfaas (#52945)
amoghrajesh Jul 7, 2025
1c7cede
Moving BaseHook usages to version_compat for pagerduty (#52946)
amoghrajesh Jul 7, 2025
6812fbf
Moving BaseHook usages to version_compat for slack (#52949)
amoghrajesh Jul 7, 2025
7393672
Moving BaseHook usages to version_compat for qdrant (#52948)
amoghrajesh Jul 7, 2025
4e89850
Moving BaseHook usages to version_compat for papermill (#52947)
amoghrajesh Jul 7, 2025
9cd077e
Moving BaseHook usages to version_compat for sendgrid (#52915)
amoghrajesh Jul 7, 2025
cb78705
Moving BaseHook usages to version_compat for git (#52944)
amoghrajesh Jul 7, 2025
b8b9717
Make the update_installer_and_pre_commit script more resilient to re …
amoghrajesh Jul 7, 2025
4a66c80
Move BaseHook to version_compat for zendesk (#52966)
phanikumv Jul 7, 2025
11b8c2b
Moving BaseHook usages to version_compat for yandex (#52963)
phanikumv Jul 7, 2025
013bb09
Move Base imports to `version_compat` for Alibaba provider Airflow 3.…
sunank200 Jul 7, 2025
19ae34a
Temporarily switch to use >=,< pattern instead of `~=` (#52967)
potiuk Jul 7, 2025
aa87aca
Fix brackets issues (#52958)
albundy83 Jul 7, 2025
d31a780
fix: Adjust OL system test to latest changes (#52971)
kacpermuda Jul 7, 2025
544328a
Add DAG calendar view endpoint (#52748)
SavingFrame Jul 7, 2025
1fbbbb7
Pass the region_name from the GlueJobOperator / GlueJobSensor to the …
dominikhei Jul 7, 2025
1d44f21
Update auth manager documentation to reflect Airflow 3 changes (#52586)
vincbeck Jul 7, 2025
e67d46b
Remove `MENU` from `ResourceMethod` in auth manager (#52731)
vincbeck Jul 7, 2025
301b2fc
Fix Dag list filtering to include QUEUED DagRuns with null start_date…
choo121600 Jul 7, 2025
6548ec4
Add new operators for Experiment and Experiment run entities for Vert…
Crowiant Jul 7, 2025
39d06a0
Remove gunicorn daemonize for api-server (#52860)
jason810496 Jul 7, 2025
ededb03
Remove `MAX_XCOM_SIZE` hardcoded constant from Airflow core (#52978)
amoghrajesh Jul 7, 2025
900ebd8
Add support for favorite/pin dags to dashboard (#51264)
PNL0 Jul 7, 2025
4aeb051
Remove unused batch methods from auth manager (#52883)
vincbeck Jul 7, 2025
896c514
Remove upper-binding for "python-requires" (#52980)
potiuk Jul 7, 2025
26a9396
Add new translations to Polish (#52895)
potiuk Jul 7, 2025
0ee6f12
Remove remnants of ~= used in requires-python. (#52985)
potiuk Jul 7, 2025
f3ca17c
Fix DagRun list (#52986)
pierrejeambrun Jul 7, 2025
9d7e43e
Removed unnecessary shebangs from test files (#52992)
dominikhei Jul 7, 2025
f99a733
Close German translation gaps for full UI translation 2025-07-04 (#52…
jscheffl Jul 7, 2025
df2a443
Handle `S3KeySensor` in `deferrable` mode splits `bucket_key` into in…
jroachgolf84 Jul 8, 2025
b78620e
mocking definition order FIX (#52905)
kyungjunleeme Jul 8, 2025
2087573
Fix db downgrade check condition (#52982)
vatsrahul1001 Jul 8, 2025
af62b85
fix: escape $ in airflow-init to properly set AIRFLOW_UID (#52988)
jjunier Jul 8, 2025
8c6e923
i18n(Ko): add missing translations (#52930)
choo121600 Jul 8, 2025
f91aafa
docs: refresh Public Interface & align how-to guides for Airflow 3.0+…
sunank200 Jul 8, 2025
c599cb9
Close gap on Hebrew translation July 8th 2025 (#53008)
eladkal Jul 8, 2025
9742068
Prepare release for July 2025 1st provider wave - ad hoc Amazon (#53003)
eladkal Jul 8, 2025
fb571a7
Close translation gap in Polish 08.07.2025 (#53014)
potiuk Jul 8, 2025
14eeae6
Fix for fernetkey and add test of its value (#52977)
albundy83 Jul 8, 2025
cf33544
Fix log for skipped taks (#53024)
pierrejeambrun Jul 8, 2025
107fe5c
Remove commented include_prior_dates in runtime TI protocol (#53012)
amoghrajesh Jul 8, 2025
f9db1c7
Fix error re <a> cannot appear as descedent of <a> (#53026)
dstandish Jul 8, 2025
aafb879
Changing import path to `airflow.sdk` in Amazon provider package
Bowrna Jul 8, 2025
e3d39a8
Remove redundant macros integration in Scheduler Context (#53032)
kaxil Jul 8, 2025
6a341b8
Fix translation for favourites (#53023)
potiuk Jul 8, 2025
961bf5b
Make dag_version_id in TI non-nullable (#50825)
ephraimbuddy Jul 8, 2025
b5eba4a
Remove unused Task Callback execution logic from Scheduler (#53031)
kaxil Jul 8, 2025
d738f92
Remove unused ``PipeCallbackSink`` (#53037)
kaxil Jul 8, 2025
4249e90
Remove `set_current_context` from `airflow.models.taskinstance` (#53036)
kaxil Jul 8, 2025
17da723
Add run_id_pattern search for Dag Run API. (#52437)
noeunkim Jul 8, 2025
d088edf
AIP-68 - Add iframe plugins as tabs on dag pages (#52795)
bbovenzi Jul 8, 2025
ca6f331
AIP-86 - Calculate and store the dagrun Deadline (#51638)
ferruzzi Jul 8, 2025
ad1932e
Add endpoint to watch dag run until finish (#51920)
uranusjr Jul 9, 2025
457c08a
Update `provider-version-compat` to be portable across CI and systems…
amoghrajesh Jul 9, 2025
1d06544
Invalidate grid runs and summaries and TI/Runs actions (#53081)
pierrejeambrun Jul 9, 2025
58715d6
Run Task failure callbacks on DAG Processor when task is externally k…
kaxil Jul 9, 2025
aa16c3f
Make amazon provider compatible with mypy 1.16.1 (#53088)
gopidesupavan Jul 9, 2025
5283fe9
Bump packaging>=25.0 (#53073)
eladkal Jul 9, 2025
46c7485
Refactor serve_logs with FastAPI (#52581)
jason810496 Jul 9, 2025
bba48cd
AIP-68 Add loading validation to React App and External Views (#52972)
pierrejeambrun Jul 9, 2025
a848f9c
Fix no_status and duration for grid summaries (#53087)
pierrejeambrun Jul 9, 2025
1360753
Deprecate old DV360 operator and modify system test (#53027)
VladaZakharova Jul 9, 2025
c044559
Some minor corrections to PMC instructions for provider release (#53068)
amoghrajesh Jul 9, 2025
ddd27dd
Unify connection not found exceptions between AF2 and AF3 (#52968)
amoghrajesh Jul 9, 2025
5d27bc9
Move` XCOM_RETURN_KEY` constant into `BaseXCom` (#53076)
amoghrajesh Jul 9, 2025
e4299ce
Clean up in google provider (#53090)
VladaZakharova Jul 9, 2025
c9e4c33
i18n(Ko): Add CODEOWNERS entry for Korean translations (#53060)
choo121600 Jul 9, 2025
533a930
Remove last usages of grid data and remove grid_data endpoint. (#52672)
dstandish Jul 9, 2025
1fa631a
Cleanup duration typing grid summaries (#53095)
pierrejeambrun Jul 9, 2025
e24f921
Improve mypy typing for RedshiftHook (#53099)
gopidesupavan Jul 9, 2025
0e8dc98
Fix log for skipped tasks follow up (#53075)
pierrejeambrun Jul 9, 2025
30d4ddf
Deserialize response of `get_all` when we call `XCom.get_all` (#53020)
amoghrajesh Jul 9, 2025
e3f9542
Upgrade singledispatch usages to Python 3.10 (#53001)
uranusjr Jul 9, 2025
c9afb61
Make edge3 provider compatible with mypy 1.16.1 (#53104)
gopidesupavan Jul 9, 2025
8dbea6a
Add link to filter dags by owner when owner_links is not defined. (#5…
tirkarthi Jul 9, 2025
4693d3c
Chart: allow valuesFrom in `gitSync.env` (#50228)
mo-rieger Jul 9, 2025
71c8276
Make http provider compatible with mypy 1.16.1 (#53108)
jscheffl Jul 9, 2025
804ac9d
Make elasticsearch provider compatible with mypy 1.16.1 (#53109)
jscheffl Jul 9, 2025
a55576b
Make apache cassandra provider compatible with mypy 1.16.1 (#53110)
jscheffl Jul 9, 2025
48c648a
Make opensearch provider compatible with mypy 1.16.1 (#53112)
gopidesupavan Jul 9, 2025
9277e02
Make keycloak provider compatible with mypy 1.16.1 (#53111)
jscheffl Jul 9, 2025
0ea7b63
Updated AWS SES docs with env config (#51601)
isaiahiruoha Jul 9, 2025
bdb1160
Update helm chart release notes for 1.18.0rc2 (#53061)
jedcunningham Jul 9, 2025
49fd6fe
Bugfix/fix mypy samba (#53113)
jscheffl Jul 10, 2025
a2d655a
(bugfix): return DataflowJobMessagesSensor and DataflowJobAutoScaling…
gopidesupavan Jul 10, 2025
3f5103e
Make microsoft azure provider compatible with mypy 1.16.1 (#53107)
gopidesupavan Jul 10, 2025
301e4b4
Updating SSH dependency for SFTP provider (#53100)
jroachgolf84 Jul 10, 2025
63bdc0d
docs: update public interface doc to reflect airflow.sdk and AIP-72 (…
nrnavaneet Jul 10, 2025
9c3d11a
Resolve OOM When Reading Large Logs in Webserver (#49470)
jason810496 Jul 10, 2025
6636627
Re-add back werkzeug dependency for sendgrid on Python 3.12 (#53133)
potiuk Jul 10, 2025
9f6a87a
Minor corrections to PMC instructions while releasing airflow (#53118)
amoghrajesh Jul 10, 2025
d678944
Always build xmlsec and lxml packages from sources in our images (#53…
potiuk Jul 10, 2025
81ac4f9
Make openlineage compatible with mypy 1.16.1 (#53119)
gopidesupavan Jul 10, 2025
6bf61d7
Make cncf provider compatible with mypy 1.16.1 (#53121)
gopidesupavan Jul 10, 2025
496cdfc
Make kafka provider compatible with mypy 1.16.1 (#53125)
gopidesupavan Jul 10, 2025
f1d6dd6
Bump mypy to 1.16.1 for airflow-core and fix airflow-core mypy errors…
gopidesupavan Jul 10, 2025
2b879cd
Make teradata provider compatible with mypy 1.16.1 (#53128)
gopidesupavan Jul 10, 2025
570cb69
Bugfix: StackdriverHook channel and policy assignments when creating …
gopidesupavan Jul 10, 2025
c6839bb
Cleanup gunicorn_config module (#53123)
jason810496 Jul 10, 2025
9f4e683
Make google provider compatible with mypy 1.16.1 (#53148)
gopidesupavan Jul 10, 2025
e6f41d3
Update INTHEWILD.md with Acciona Energia France (#53132)
MohamedEqinov Jul 10, 2025
bbc6166
fix: Improve logging and timeouts in OL helpers (#53139)
kacpermuda Jul 10, 2025
70bb18f
Bugfix/close german translation gaps 2025 07 07 (#52995)
jscheffl Jul 10, 2025
de10a62
Remove unused Exceptions (#53155)
kaxil Jul 10, 2025
eaceb12
Run mypy for all types when devel-common toml changes (#53156)
gopidesupavan Jul 10, 2025
cd96df8
Fix GCSToBigQueryOperator: avoid pushing non-serializable task_instan…
arvindp25 Jul 10, 2025
32d61f1
Use standard library ``typing`` imports for Python 3.10+ (#53158)
kaxil Jul 10, 2025
62441b8
feat: Add toggle to hide/show log timestamps in UI (#52996)
naseemshah Jul 10, 2025
8c0174f
Create connection with API instead of directly through Session (#53161)
o-nikolas Jul 10, 2025
91d8d7d
Add Human-in-the-loop logic to core Airflow and implement `HITLOperat…
Lee-W Jul 11, 2025
3b49e95
Move ``SetupTeardownContext`` to Task SDK (#53160)
kaxil Jul 11, 2025
d0c2793
Removing `airflow.utils.xcom` references in airflow-core (#53144)
amoghrajesh Jul 11, 2025
270b2cb
Replace usages of XCOM_RETURN_KEY in providers to not be from utils (…
amoghrajesh Jul 11, 2025
0e8ba3e
Remove some remnants of airflow.utils.xcom usage in core (#53169)
amoghrajesh Jul 11, 2025
5c6a05a
Make task-sdk compatible with mypy 1.16.1 (#53047)
gopidesupavan Jul 11, 2025
f9416cb
Fix pod in get_or_create_pod()
stephen-bracken Jul 12, 2025
1d18ec7
Import XCOM_RETURN_KEY in providers from task SDK (#53180)
amoghrajesh Jul 11, 2025
3fb91e5
Move --no-binary flag to uv command line from pyproject.toml (#53179)
potiuk Jul 11, 2025
adbebc0
Fix reading huge (XCom) resposne in TaskSDK task process (#53186)
ashb Jul 11, 2025
4acb65d
Install python from source again (#53150)
aritra24 Jul 11, 2025
3e889dc
Add type casting for mypy to understand expand_input types (#53191)
amoghrajesh Jul 11, 2025
221f24d
Adjust ray operators in google provider. Add ray package as a depende…
Crowiant Jul 11, 2025
fc8a062
Extend ``add_deprecated_classes`` to support wildcard patterns (#53196)
kaxil Jul 11, 2025
0877544
[RFC] Feat (ui): Add spanish translation + Spanish lang codeowner (#5…
aoelvp94 Jul 11, 2025
194ef4e
Bump mypy to 1.16.1 (#52997)
gopidesupavan Jul 11, 2025
d4870d0
i18n(Ko): Missing translations fravorite filters (#53120)
choo121600 Jul 11, 2025
d2ea710
Fix package typo in build images (#53209)
gopidesupavan Jul 11, 2025
115358e
Fix typo in mock spec parameter (#53206)
kaxil Jul 11, 2025
bd58000
Fix duplicate test IDs in parametrized tests (#53203)
kaxil Jul 11, 2025
c5eb268
Fix test_do_not_schedule_removed_task to properly verify scheduler be…
kaxil Jul 11, 2025
6560758
Add proper spec parameters to MagicMock usage (#53205)
kaxil Jul 11, 2025
a21cfac
Cleanup mypy ignores in Task SDK where possible (#53208)
gopidesupavan Jul 11, 2025
78d94e9
Run check-that-image-builds-quickly job only in canary (#53212)
gopidesupavan Jul 11, 2025
2472b6e
Move remaining `airflow.io` code to Task SDK (#53211)
kaxil Jul 11, 2025
9377f87
Add proper spec parameters for various mock usages (#53213)
kaxil Jul 11, 2025
121cf6d
Bump uv to 0.7.20 (#53207)
gopidesupavan Jul 12, 2025
304f1aa
Remove direct scheduler BaseOperator refs (#52234)
uranusjr Jul 12, 2025
b06c4bd
Pass GITHUB_TOKEN to update checks (#53219)
potiuk Jul 12, 2025
ba81dfa
update start-airflow breeze example command (#53222)
eladkal Jul 12, 2025
83e7499
Update pluggy to 1.6.0 (#53224)
eladkal Jul 12, 2025
43b3ebc
Upgrade ruff to latest version (0.12.3) (#53226)
eladkal Jul 12, 2025
95adac1
Bring back quick image build check and increase timeout minutes (#53227)
potiuk Jul 12, 2025
399a845
Bump openlineage-airflow from 1.34.0 to 1.35.0 (#53199)
dependabot[bot] Jul 12, 2025
8705dc7
Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 in /go-s…
dependabot[bot] Jul 12, 2025
7c6fe4b
bump remaining uv versions (#53228)
bugraoz93 Jul 12, 2025
01195ad
fix(ci): bump python versions (#53229)
bugraoz93 Jul 12, 2025
2959d2a
Close gap on Hebrew translation July 12th 2025 (#53218)
shahar1 Jul 12, 2025
e7bb769
Handle ruff PT028 changes (#53235)
eladkal Jul 12, 2025
5225f5b
Fix pandas FutureWarning (#53236)
eladkal Jul 12, 2025
5d60cb9
fix return value of get_or_create_pod() not matching KubernetesPodOpe…
Jul 11, 2025
997a31e
add sleep between polling in get_or_create_pod
Jul 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
!providers/
!task-sdk/
!airflow-ctl/
!go-sdk/

# Add all "test" distributions
!tests
Expand Down
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,9 @@
# See: https://github.com/apache/airflow/blob/main/airflow-core/src/airflow/ui/public/i18n/README.md#43-engaged-translator
airflow-core/src/airflow/ui/public/i18n/locales/ar/ @shahar1 @hussein-awala # + @ahmadtfarhan
airflow-core/src/airflow/ui/public/i18n/locales/de/ @jscheffl # + @TJaniF @m1racoli
airflow-core/src/airflow/ui/public/i18n/locales/es/ @bbovenzi # + @aoelvp94
airflow-core/src/airflow/ui/public/i18n/locales/he/ @eladkal @shahar1 @romsharon98 # +@Dev-iL
airflow-core/src/airflow/ui/public/i18n/locales/ko/ @jscheffl @potiuk # + @choo121600 @kgw7401 @0ne-stone
airflow-core/src/airflow/ui/public/i18n/locales/nl/ @BasPH # + @DjVinnii
airflow-core/src/airflow/ui/public/i18n/locales/pl/ @potiuk @mobuchowski # + @kacpermuda
airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/ @Lee-W @jason810496 # + @RoyLee1224 @guan404ming
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/install-pre-commit/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ inputs:
default: "3.10"
uv-version:
description: 'uv version to use'
default: "0.7.17" # Keep this comment to allow automatic replacement of uv version
default: "0.7.20" # Keep this comment to allow automatic replacement of uv version
pre-commit-version:
description: 'pre-commit version to use'
default: "4.2.0" # Keep this comment to allow automatic replacement of pre-commit version
Expand Down
16 changes: 8 additions & 8 deletions .github/actions/migration_tests/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ runs:
- name: "Test migration file 2 to 3 migration: ${{env.BACKEND}}"
shell: bash
run: |
breeze shell "${{ env.AIRFLOW_2_CMD }}" --use-airflow-version 2.11.0 --answer y &&
breeze shell "export AIRFLOW__DATABASE__EXTERNAL_DB_MANAGERS=${{env.DB_MANGERS}}
${{ env.AIRFLOW_3_CMD }}" --no-db-cleanup
breeze shell "${AIRFLOW_2_CMD}" --use-airflow-version 2.11.0 --answer y &&
breeze shell "export AIRFLOW__DATABASE__EXTERNAL_DB_MANAGERS=${DB_MANGERS}
${AIRFLOW_3_CMD}" --no-db-cleanup
env:
COMPOSE_PROJECT_NAME: "docker-compose"
DB_RESET: "false"
Expand All @@ -47,9 +47,9 @@ runs:
- name: "Test ORM migration 2 to 3: ${{env.BACKEND}}"
shell: bash
run: >
breeze shell "${{ env.AIRFLOW_2_CMD }}" --use-airflow-version 2.11.0 --answer y &&
breeze shell "export AIRFLOW__DATABASE__EXTERNAL_DB_MANAGERS=${{env.DB_MANGERS}}
${{ env.AIRFLOW_3_CMD }}" --no-db-cleanup
breeze shell "${AIRFLOW_2_CMD}" --use-airflow-version 2.11.0 --answer y &&
breeze shell "export AIRFLOW__DATABASE__EXTERNAL_DB_MANAGERS=${DB_MANGERS}
${AIRFLOW_3_CMD}" --no-db-cleanup
env:
COMPOSE_PROJECT_NAME: "docker-compose"
DB_RESET: "false"
Expand All @@ -69,7 +69,7 @@ runs:
- name: "Test ORM migration ${{env.BACKEND}}"
shell: bash
run: >
breeze shell "export AIRFLOW__DATABASE__EXTERNAL_DB_MANAGERS=${{env.DB_MANAGERS}} &&
breeze shell "export AIRFLOW__DATABASE__EXTERNAL_DB_MANAGERS=${DB_MANAGERS} &&
airflow db reset -y &&
airflow db migrate --to-revision heads &&
airflow db downgrade -n 2.7.0 -y &&
Expand All @@ -86,7 +86,7 @@ runs:
shell: bash
run: >
breeze shell
"export AIRFLOW__DATABASE__EXTERNAL_DB_MANAGERS=${{env.DB_MANAGERS}} &&
"export AIRFLOW__DATABASE__EXTERNAL_DB_MANAGERS=${DB_MANAGERS} &&
airflow db reset -y &&
airflow db downgrade -n 2.7.0 -y &&
airflow db migrate -s"
Expand Down
3 changes: 3 additions & 0 deletions .github/boring-cyborg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -377,6 +377,9 @@ labelPRBasedOnFilePath:
translation:de:
- airflow-core/src/airflow/ui/public/i18n/locales/de/*

translation:es:
- airflow-core/src/airflow/ui/public/i18n/locales/es/*

translation:fr:
- airflow-core/src/airflow/ui/public/i18n/locales/fr/*

Expand Down
9 changes: 2 additions & 7 deletions .github/workflows/additional-ci-image-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ jobs:

# Check that after earlier cache push, breeze command will build quickly
check-that-image-builds-quickly:
timeout-minutes: 11
timeout-minutes: 17
name: Check that image builds quickly
runs-on: ${{ fromJSON(inputs.runners) }}
env:
Expand All @@ -144,10 +144,5 @@ jobs:
uses: ./.github/actions/breeze
with:
use-uv: ${{ inputs.use-uv }}
- name: "Login to ghcr.io"
env:
actor: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: echo "$GITHUB_TOKEN" | docker login ghcr.io -u "$actor" --password-stdin
- name: "Check that image builds quickly"
run: breeze shell --max-time 600 --platform "${PLATFORM}"
run: breeze shell --max-time 900 --platform "${PLATFORM}"
12 changes: 10 additions & 2 deletions .github/workflows/basic-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,8 @@ jobs:
skip-pre-commits: ${{ inputs.skip-pre-commits }}
- name: "Autoupdate all pre-commits"
run: pre-commit autoupdate
- name: "Autoupdate Lucas-C/pre-commit-hooks to bleeding edge"
run: pre-commit autoupdate --bleeding-edge --freeze --repo https://github.com/Lucas-C/pre-commit-hooks
- name: "Run automated upgrade for black"
run: >
pre-commit run
Expand All @@ -284,28 +286,34 @@ jobs:
# For UV we are not failing the upgrade installers check if it is updated because
# it is upgraded very frequently, so we want to manually upgrade it rather than
# get notified about it - until it stabilizes in 1.* version
- name: "Run automated upgrade for uv (open to see if new version is updated)"
- name: "Run automated upgrade for uv (not failing - just informational)"
run: >
pre-commit run
--all-files --show-diff-on-failure --color always --verbose
--hook-stage manual update-installers-and-pre-commit || true
if: always()
env:
UPGRADE_UV: "true"
UPGRADE_PYTHON: "false"
UPGRADE_GOLANG: "true"
UPGRADE_PIP: "false"
UPGRADE_PRE_COMMIT: "false"
UPGRADE_NODE_LTS: "false"
- name: "Run automated upgrade for pip, pre-commit and node"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Run automated upgrade for pip, pre-commit and node (failing if needed)"
run: >
pre-commit run
--all-files --show-diff-on-failure --color always --verbose
--hook-stage manual update-installers-and-pre-commit
if: always()
env:
UPGRADE_UV: "false"
UPGRADE_PYTHON: "true"
UPGRADE_GOLANG: "false"
UPGRADE_PIP: "true"
UPGRADE_PRE_COMMIT: "true"
UPGRADE_NODE_LTS: "true"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

test-airflow-release-commands:
timeout-minutes: 80
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-amd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ jobs:
- name: Install pre-commit, uv, and pre-commit-uv
shell: bash
env:
UV_VERSION: "0.7.17" # Keep this comment to allow automatic replacement of uv version
UV_VERSION: "0.7.20" # Keep this comment to allow automatic replacement of uv version
PRE_COMMIT_VERSION: "4.2.0" # Keep this comment to allow automatic replacement of pre-commit version
PRE_COMMIT_UV_VERSION: "4.1.4" # Keep this comment to allow automatic replacement of pre-commit-uv version
run: |
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/publish-docs-to-s3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ jobs:
- name: "Reinstall breeze from the current version"
run: |
breeze setup self-upgrade --use-current-airflow-sources
if: inputs.build-sboms
working-directory: current-version
- name: "Make sure SBOM dir exists and has the right permissions"
run: |
Expand All @@ -212,6 +213,7 @@ jobs:
run: |
echo "Generated SBOM files:"
find ./generated/_build/docs/apache-airflow/stable/sbom/ -type f | sort
if: inputs.build-sboms
- name: "Reinstall breeze from ${{ inputs.ref }} reference"
run:
breeze setup self-upgrade --use-current-airflow-sources
Expand Down
14 changes: 7 additions & 7 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ repos:
- "2"
- repo: https://github.com/Lucas-C/pre-commit-hooks
# replace hash with version once PR #103 merged comes in a release
rev: fd3fbe825390abc682953165e9aa58f5f1bf7339
rev: abdd8b62891099da34162217ecb3872d22184a51
hooks:
- id: insert-license
name: Add license for all SQL files
Expand Down Expand Up @@ -213,7 +213,7 @@ repos:
^scripts/ci/pre_commit/update_installers_and_pre_commit\.py$
pass_filenames: false
require_serial: true
additional_dependencies: ['pyyaml>=6.0.2', 'rich>=12.4.4', 'requests>=2.31.0']
additional_dependencies: ['pyyaml>=6.0.2', 'rich>=12.4.4', 'requests>=2.31.0',"packaging>=25"]
- id: update-chart-dependencies
name: Update chart dependencies to latest (manual)
entry: ./scripts/ci/pre_commit/update_chart_dependencies.py
Expand Down Expand Up @@ -364,7 +364,7 @@ repos:
- --skip=providers/.*/src/airflow/providers/*/*.rst,providers/*/docs/changelog.rst,docs/*/commits.rst,providers/*/docs/commits.rst,providers/*/*/docs/commits.rst,docs/apache-airflow/tutorial/pipeline_example.csv,*.min.js,*.lock,INTHEWILD.md,*.svg
- --exclude-file=.codespellignorelines
- repo: https://github.com/woodruffw/zizmor-pre-commit
rev: v1.7.0
rev: v1.11.0
hooks:
- id: zizmor
name: Run zizmor to check for github workflow syntax errors
Expand Down Expand Up @@ -427,7 +427,7 @@ repos:
types_or: [python, pyi]
args: [--fix]
require_serial: true
additional_dependencies: ['ruff==0.12.1']
additional_dependencies: ['ruff==0.12.3']
exclude: ^airflow-core/tests/unit/dags/test_imports\.py$|^performance/tests/test_.*\.py$
- id: ruff-format
name: Run 'ruff format'
Expand All @@ -437,7 +437,7 @@ repos:
types_or: [python, pyi]
args: []
require_serial: true
additional_dependencies: ['ruff==0.12.1']
additional_dependencies: ['ruff==0.12.3']
exclude: ^airflow-core/tests/unit/dags/test_imports\.py$
- id: replace-bad-characters
name: Replace bad characters
Expand Down Expand Up @@ -1590,13 +1590,13 @@ repos:
name: Check imports in providers
entry: ./scripts/ci/pre_commit/check_imports_in_providers.py
language: python
additional_dependencies: ['rich>=12.4.4', 'ruff==0.12.1']
additional_dependencies: ['rich>=12.4.4', 'ruff==0.12.3']
files: ^providers/.*/src/airflow/providers/.*version_compat.*\.py$
require_serial: true
- id: provider-version-compat
name: Check for correct version_compat imports in providers
entry: ./scripts/ci/pre_commit/check_provider_version_compat.py
language: system
language: python
types: [python]
files: ^providers/.*/src/airflow/providers/.*\.py$
require_serial: true
Expand Down
28 changes: 21 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ ARG PYTHON_BASE_IMAGE="python:3.10-slim-bookworm"
ARG AIRFLOW_PIP_VERSION=25.1.1
# ARG AIRFLOW_PIP_VERSION="git+https://github.com/pypa/pip.git@main"
ARG AIRFLOW_SETUPTOOLS_VERSION=80.9.0
ARG AIRFLOW_UV_VERSION=0.7.17
ARG AIRFLOW_UV_VERSION=0.7.20
ARG AIRFLOW_USE_UV="false"
ARG UV_HTTP_TIMEOUT="300"
ARG AIRFLOW_IMAGE_REPOSITORY="https://github.com/apache/airflow"
Expand Down Expand Up @@ -473,11 +473,14 @@ function common::get_packaging_tool() {
echo
export PACKAGING_TOOL="uv"
export PACKAGING_TOOL_CMD="uv pip"
if [[ ${AIRFLOW_INSTALLATION_METHOD=} == "." && -f "./pyproject.toml" ]]; then
# --no-binary is needed in order to avoid libxml and xmlsec using different version of libxml2
# (binary lxml embeds its own libxml2, while xmlsec uses system one).
# See https://bugs.launchpad.net/lxml/+bug/2110068
if [[ ${AIRFLOW_INSTALLATION_METHOD=} == "." && -f "./pyproject.toml" ]]; then
# for uv only install dev group when we install from sources
export EXTRA_INSTALL_FLAGS="--group=dev"
export EXTRA_INSTALL_FLAGS="--group=dev --no-binary lxml --no-binary xmlsec"
else
export EXTRA_INSTALL_FLAGS=""
export EXTRA_INSTALL_FLAGS="--no-binary lxml --no-binary xmlsec"
fi
export EXTRA_UNINSTALL_FLAGS=""
export UPGRADE_TO_HIGHEST_RESOLUTION="--upgrade --resolution highest"
Expand All @@ -493,7 +496,10 @@ function common::get_packaging_tool() {
echo
export PACKAGING_TOOL="pip"
export PACKAGING_TOOL_CMD="pip"
export EXTRA_INSTALL_FLAGS="--root-user-action ignore"
# --no-binary is needed in order to avoid libxml and xmlsec using different version of libxml2
# (binary lxml embeds its own libxml2, while xmlsec uses system one).
# See https://bugs.launchpad.net/lxml/+bug/2110068
export EXTRA_INSTALL_FLAGS="--root-user-action ignore --no-binary lxml,xmlsec"
export EXTRA_UNINSTALL_FLAGS="--yes"
export UPGRADE_TO_HIGHEST_RESOLUTION="--upgrade --upgrade-strategy eager"
export UPGRADE_IF_NEEDED="--upgrade --upgrade-strategy only-if-needed"
Expand Down Expand Up @@ -875,8 +881,12 @@ function install_from_sources() {
echo
echo "${COLOR_BLUE}Attempting to upgrade all packages to highest versions.${COLOR_RESET}"
echo
# --no-binary is needed in order to avoid libxml and xmlsec using different version of libxml2
# (binary lxml embeds its own libxml2, while xmlsec uses system one).
# See https://bugs.launchpad.net/lxml/+bug/2110068
set -x
uv sync --all-packages --resolution highest --group dev --group docs --group docs-gen --group leveldb ${extra_sync_flags}
uv sync --all-packages --resolution highest --group dev --group docs --group docs-gen \
--group leveldb ${extra_sync_flags} --no-binary-package lxml --no-binary-package xmlsec
else
# We only use uv here but Installing using constraints is not supported with `uv sync`, so we
# do not use ``uv sync`` because we are not committing and using uv.lock yet.
Expand Down Expand Up @@ -933,8 +943,12 @@ function install_from_sources() {
echo
echo "${COLOR_BLUE}Falling back to no-constraints installation.${COLOR_RESET}"
echo
# --no-binary is needed in order to avoid libxml and xmlsec using different version of libxml2
# (binary lxml embeds its own libxml2, while xmlsec uses system one).
# See https://bugs.launchpad.net/lxml/+bug/2110068
set -x
uv sync --all-packages --group dev --group docs --group docs-gen --group leveldb ${extra_sync_flags}
uv sync --all-packages --group dev --group docs --group docs-gen \
--group leveldb ${extra_sync_flags} --no-binary-package lxml --no-binary-package xmlsec
set +x
fi
fi
Expand Down
Loading