Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
208 commits
Select commit Hold shift + click to select a range
4a18c45
Update version to 3.0.1.dev0
potiuk Apr 22, 2025
f4f3991
[v3-0-test] Actually fail when number of attempts failed for breeze c…
potiuk Apr 23, 2025
04950b1
[v3-0-test] Fix missing version substitution in docs (#49640) (#49642)
github-actions[bot] Apr 23, 2025
e76879d
Add `STRAIGHT_JOIN` prefix for MySQL query optimization in get_sorted…
oboki Apr 22, 2025
9dae52a
feature(ui): Make entire task box clickable to select the task in Air…
jsjasonseba Apr 23, 2025
88c498b
Remove unused constant HANDLER_SUPPORTS_TRIGGERER (#49370)
dstandish Apr 22, 2025
63ec6f4
Updating Airflow executor docs for AF3 (#49389)
amoghrajesh Apr 23, 2025
020be94
Vertically align task log header components in fullscreen mode. (#49569)
tirkarthi Apr 22, 2025
0163509
Ensure sqlalchemy[asyncio] extra is in core deps (#49452)
dstandish Apr 22, 2025
77e6715
Remove dag_code records with no serdag (#49478)
dstandish Apr 21, 2025
1a4ce7c
Logout functionality should respect base_url in api server (#49545)
amoghrajesh Apr 23, 2025
5b833c6
Remove `gitpython` as a core dependency (#49537)
jedcunningham Apr 22, 2025
46e2648
Remove sort indicators on XCom table (#49547)
pierrejeambrun Apr 22, 2025
416fdb6
Null out the scheduler_interval field on downgrade (#49583)
dstandish Apr 22, 2025
69debd3
Update screenshots for Dags - Update GIFs (#49586)
jscheffl Apr 22, 2025
fc74429
Fix min-sqlalchemy tests (#49636)
potiuk Apr 23, 2025
985fc5c
Remove extra slash so that the runs tab is selected. (#49600)
tirkarthi Apr 23, 2025
2239116
Update default Airflow version in Dockerfile to 3.0.0 (#49626)
kaxil Apr 23, 2025
384d921
Bump @babel/runtime (#49479)
dependabot[bot] Apr 22, 2025
53da448
Fix bug with showing invalid creds on Login UI (#49556)
rawwar Apr 22, 2025
06ac57d
Improve docs-build selective checks to include RELEASE_NOTES.rst (#49…
amoghrajesh Apr 22, 2025
6b85450
Add Code Coverage for Airflow 3 branches (#49595)
kaxil Apr 23, 2025
4008de0
Update Badge links for Task SDK Readme (#49589)
kaxil Apr 23, 2025
f45521c
Make `v3-0-stable` a protected branch (#49594)
kaxil Apr 23, 2025
17d6450
Fixing upgrade checks on main (#49610)
amoghrajesh Apr 23, 2025
f5273c5
Update docs to ensure Airflow 2 plugins are converted to 3 before mig…
vatsrahul1001 Apr 23, 2025
83531c1
Update outdated doc-build selective checks (#49602)
amoghrajesh Apr 23, 2025
e386b3e
Add backcompat shim for get_current_context (#49630)
amoghrajesh Apr 23, 2025
de7382d
Better upgrade docs about flask/fab plugins in AF3 (#49628)
jedcunningham Apr 23, 2025
7da4f85
Update plugin documentation for Airflow 3 plugins (#49632)
jedcunningham Apr 23, 2025
d4d79f6
Bump stylelint (#49638)
dependabot[bot] Apr 23, 2025
c0025ae
Add count to Stats Cards in Dashboard (#49519)
guan404ming Apr 23, 2025
333736e
AIP-38: merge Backfill and Trigger Dag Run (#49490)
guan404ming Apr 21, 2025
69dabd7
AIP-38: enhance layout for `RunBackfillForm` (#49609)
guan404ming Apr 23, 2025
3ee386f
Update standard provider doc operators in core operators-and-hooks-re…
gopidesupavan Apr 23, 2025
7ee72e4
Update docs since --tree flag is tasks list command removed in Airflo…
tirkarthi Apr 23, 2025
6e87e82
Add autorefresh to health section for live updates. (#49645)
tirkarthi Apr 23, 2025
c5e0829
Fix Dag Code text selection bg (#49649)
bbovenzi Apr 23, 2025
d8f1b00
Docs: Use `get_current_context` from Task SDK (#49654)
kaxil Apr 24, 2025
0df1265
Remove some lingering subdag references (#49663)
dstandish Apr 23, 2025
ae06b96
Fix wrong link in standard provider yaml file (#49660)
potiuk Apr 23, 2025
ffd211a
Upgrade breeze deps (#49656)
potiuk Apr 23, 2025
af62dbb
Switch to built-in dry-run/verbose commands for breeze release comman…
potiuk Apr 24, 2025
55c5015
[v3-0-test] Remove the "dev0" usage from the CI (#49665) (#49686)
github-actions[bot] Apr 24, 2025
16098fb
[v3-0-test] Confgure "suggest a change" links properly (#49702) (#49710)
github-actions[bot] Apr 24, 2025
b4519ad
Check for task concurrency parameters inside encoded object & partial…
tirkarthi Apr 24, 2025
b4368fa
Tweak Execution API OpenAPI spec to improve code Generation (#49700)
ashb Apr 24, 2025
2406d15
[v3-0-test] Remove .dev0 suffix from airflow version (#49621) (#49713)
potiuk Apr 24, 2025
97754ea
Fix infinite redirect caused by mistakenly setting token cookie as se…
github-actions[bot] Apr 24, 2025
f03f1e9
Use NonNegativeInt for backfill_id (#49691) (#49716)
github-actions[bot] Apr 24, 2025
ab47e7e
Add SimpleAllAdminMiddleware to allow api usage without auth header i…
github-actions[bot] Apr 24, 2025
e729a2e
Fix k8s test: scheduler crash when using LocalExecutor (#49677) (#49718)
github-actions[bot] Apr 24, 2025
2895993
Bump react-router and react-router-dom (#49742)
dependabot[bot] Apr 24, 2025
a522e37
Remove reference to root_dag_id in dagbag and restore logic (#49668)
dstandish Apr 24, 2025
2cfc811
Improve AirflowRouter (#49712)
pierrejeambrun Apr 24, 2025
d2c5453
Better handle safe url redirects in login form for SimpleAuthManager …
amoghrajesh Apr 24, 2025
9c5841c
fix a few sqlalchemy deprecation warnings (#49477)
rawwar Apr 24, 2025
03f29d4
Clear out the dag code and serialized_dag tables on 3.0 upgrade (#49563)
dstandish Apr 24, 2025
dbcd32b
Make default execution server URL be relative to API Base URL (#49747)
kaxil Apr 24, 2025
917674b
[v3-0-test] Common airflow.cfg files across all containers in default…
potiuk Apr 25, 2025
fe5d891
[v3-0-test] Add redirects for old operators location to standard prov…
github-actions[bot] Apr 25, 2025
3eeb253
Fix execution API server URL handling for relative paths (#49782)
kaxil Apr 25, 2025
396783a
Display bundle version in Dag details tab (#49787)
pierrejeambrun Apr 25, 2025
3e3e7e8
Add using the rest api by referring to security/api.rst (#49675)
rawwar Apr 25, 2025
f5318a7
Add correct redirects for rest api and upgrade docs (#49764)
amoghrajesh Apr 25, 2025
7bdfa19
Add bundle_version to DagRun response (#49726)
dstandish Apr 25, 2025
a1e3be1
[v3-0-test] Fix gcp remote log module import in airflow local setting…
github-actions[bot] Apr 26, 2025
28c4132
[v3-0-test] Update max_consecutive_failed_dag_runs default value to z…
potiuk Apr 26, 2025
758140a
[v3-0-test] Prevalidate presence of precommit cache tarball instead o…
potiuk Apr 26, 2025
130cc4a
Fall back when a task cannot be expanded (#49772)
uranusjr Apr 26, 2025
884b335
[v3-0-test] Fix docker compose tests (#49814) (#49817)
github-actions[bot] Apr 26, 2025
2fe939c
[v3-0-test] Treat single task_ids in xcom_pull the same as multiple (…
github-actions[bot] Apr 26, 2025
659971c
[v3-0-test] Fixup to docker-compose tests improvements (#49821) (#49824)
github-actions[bot] Apr 26, 2025
d59a207
[v3-0-test] Fix broken main - upgrade tool versions (#49825) (#49826)
github-actions[bot] Apr 26, 2025
d26d793
[v3-0-test] Ensure K8s tests are completed before finalization (#4982…
jscheffl Apr 26, 2025
897928d
[v3-0-test] Add basic tests as finalize Tests dependency (#49819) (#4…
potiuk Apr 26, 2025
7760a2c
[v3-0-test] Fix typos and argument types (#49833) (#49836)
github-actions[bot] Apr 27, 2025
f524f74
[v3-0-test] Move setting common arguments to common_build_params (#49…
potiuk Apr 27, 2025
3ca538d
[v3-0-test] Simplify pre-release version handling when preparing pack…
potiuk Apr 27, 2025
b812513
[v3-0-test] Show K8S logs in CI on top of uploading them as artifacts…
potiuk Apr 27, 2025
fc5cabd
[v3-0-test] Automatically refresh generated dependencies when needed …
github-actions[bot] Apr 27, 2025
376021d
[v3-0-test] Move some non-core dependencies to the `apache-airflow` m…
github-actions[bot] Apr 27, 2025
1c92f31
[v3-0-test] Bump packaging from 24.2 to 25.0 in /airflow-core (#49512…
github-actions[bot] Apr 28, 2025
6411136
[v3-0-test] Bump packaging from 24.2 to 25.0 in /airflow-core (#49512…
potiuk Apr 28, 2025
dfe99d8
[v3-0-test] Move some non-core dependencies to the `apache-airflow` m…
potiuk Apr 28, 2025
ef0e67f
[v3-0-test] Add more lower-bind limits to address resolution too deep…
potiuk Apr 28, 2025
a282640
[v3-0-test] Prepare docs for Apr 2nd wave of providers (#49051) (#49883)
potiuk Apr 28, 2025
44c0608
[v3-0-test] test: migrate `get_pandas_df` to `get_df` in `provider` t…
potiuk Apr 28, 2025
c87c13e
[v3-0-test] feat: auto refresh for `HistoricalMetrics` (#49830) (#49898)
github-actions[bot] Apr 28, 2025
68dc8a7
[v3-0-test] Add pagination to providers list (#49902) (#49903)
github-actions[bot] Apr 28, 2025
cfa2ec7
[v3-0-test] Error alert overflows out of the alert box (#49880) (#49904)
github-actions[bot] Apr 28, 2025
182acbd
[v3-0-test] Bump packaging from 24.2 to 25.0 (#49510) (#49892)
github-actions[bot] Apr 28, 2025
67e7356
Update Release Notes for 3.0 & remove newsfragments (#49913)
kaxil Apr 28, 2025
ec7c99c
Show backfill banner after creating a new backfill (#49666)
bbovenzi Apr 28, 2025
95adaec
Add counts to pool bar (#49894)
bbovenzi Apr 28, 2025
8f99e25
Add `@task.kuberenetes_cmd` (#46913)
insomnes Apr 28, 2025
da957ea
Mark DAGModel stale and associate bundle on import errors (#49769)
sunank200 Apr 28, 2025
49b7f4d
doc (fundamentals.rst): Fix grammar in timezone-aware DAG description…
mohamedhayballa22 Apr 27, 2025
14e1d1f
Help `pip` with avoiding resolution too deep issues in Python 3.12 (#…
potiuk Apr 27, 2025
3b316c8
Rename support to maintenance (#49842)
eladkal Apr 27, 2025
2624939
[v3-0-test] Improve detection and handling of timed out DAG processor…
github-actions[bot] Apr 29, 2025
5369f97
[v3-0-test] Bump vite from 5.4.17 to 5.4.18 in /airflow-core/src/airf…
github-actions[bot] Apr 29, 2025
6912709
[v3-0-test] Remove unnecessary noise from CI breeze's output (#49952)…
github-actions[bot] Apr 29, 2025
2d94499
[v3-0-test] Fix provider's metadata generation for Airflow 3 (#49949)…
potiuk Apr 29, 2025
476cb7c
[v3-0-test] Manually run workflows are now also canary runs (#49946) …
github-actions[bot] Apr 29, 2025
820e94a
[v3-0-test] Upgrade to latest k8s tooling (#49945) (#49982)
github-actions[bot] Apr 29, 2025
f5701f9
[v3-0-test] Add map_index filter option to GetTICount and GetTaskStat…
github-actions[bot] Apr 30, 2025
fbd0c18
[v3-0-test] Fix edit port (#50002) (#50010)
github-actions[bot] Apr 30, 2025
7f59a87
Improve useCreateBackfillDryRun cache key (#49959)
pierrejeambrun Apr 30, 2025
2aba14e
Improve grid endpoint speed (#49969)
pierrejeambrun Apr 30, 2025
be9a69e
Update upgrading guide to note deprecated hardcoded execs (#49988)
o-nikolas Apr 30, 2025
de981cc
Auto-correct stale bundle_name in DAG versions when DAG bundle config…
vatsrahul1001 Apr 30, 2025
952bdea
Update time duration format (#49914)
bbovenzi Apr 29, 2025
a24be08
Fix Dashboard overflow and handle no status tasks (#49964)
pierrejeambrun Apr 29, 2025
1cab474
Add `--preview` flag to `ruff` for AF 2 to 3 migration (#49954)
kaxil Apr 29, 2025
543a9a0
Fix timezone setting for logical date input on Trigger Run form (#49662)
bbovenzi Apr 25, 2025
551a232
Create a timezone-aware datetime input component (#49911)
bbovenzi Apr 29, 2025
87bdcd7
fixup some spacing issues in params example dag (#49905)
aritra24 Apr 29, 2025
6008c06
[v3-0-test] Mark DagRun as success when no teardown tasks are running…
github-actions[bot] Apr 30, 2025
dbb6c5d
feat: add `stats` ui endpoint (#49985)
guan404ming Apr 30, 2025
f44e8ba
[v3-0-test] Improve SAM login onSuccess fn (#49866) (#50032)
github-actions[bot] Apr 30, 2025
5f55015
[v3-0-test] fix edit connection (#49989) (#50024)
github-actions[bot] Apr 30, 2025
faf298b
[v3-0-test] Add link to tag to filter dags associated with the tag. (…
github-actions[bot] Apr 30, 2025
9ff257f
[v3-0-test] Fix failing dashboard queing tests (#50046) (#50052)
github-actions[bot] Apr 30, 2025
9a18b9f
[v3-0-test] Implement offset to get the xcom for a given task by offs…
github-actions[bot] Apr 30, 2025
e97fd21
[v3-0-test] Fix Dashboard for queued DagRuns (#49961) (#50041)
github-actions[bot] Apr 30, 2025
5bc5637
[v3-0-test] Make helm tests even more resilient to "Too many requests…
github-actions[bot] Apr 30, 2025
1eb6969
[v3-0-test] Fix import paths in release notes. (#49840) (#50039)
github-actions[bot] Apr 30, 2025
033e70e
[v3-0-test] Avoid too many requests when refreshing constraint from G…
github-actions[bot] Apr 30, 2025
05581b4
[v3-0-test] Add back missing `[sources]` link in generated documentat…
github-actions[bot] Apr 30, 2025
9f9ae10
[v3-0-test] Resurrect fab related configs (#50056) (#50067)
github-actions[bot] May 1, 2025
7c7c86a
[v3-0-test] Add keyboard shortcut for fullscreen and wrap in logs. (#…
github-actions[bot] May 1, 2025
083265e
[v3-0-test] Doc: Fix Kubernetes duplicated version (#50030) (#50071)
github-actions[bot] May 1, 2025
22a8b96
[v3-0-test] Update graph node styling (#50047) (#50073)
jscheffl May 1, 2025
3aa07cc
[v3-0-test] Add breeze to the main workspace of the apache-airflow-pr…
github-actions[bot] May 1, 2025
f6aadf1
[v3-0-test] Add lower-binding for types-protobuf (#50075) (#50077)
github-actions[bot] May 1, 2025
f1efe19
[v3-0-test] Allow non-string valid JSON values in Variable import. (#…
tirkarthi May 1, 2025
211b510
[v3-0-test] Bump min versions of crucial providers (#50076) (#50083)
github-actions[bot] May 1, 2025
b85073d
[v3-0-test] Fix links to source examples in Airflow docs (#50082) (#5…
github-actions[bot] May 1, 2025
9fdb73d
[v3-0-test] Avoid pushing images in test canary runs (#49950) (#50110)
potiuk May 2, 2025
3901fdf
[v3-0-test] Prepare documentation to release common.compat 1.6.1 (#49…
potiuk May 2, 2025
9e0b2be
[v3-0-test] fix import path for BashSensor (#49935) (#50113)
github-actions[bot] May 2, 2025
ee0d68c
[v3-0-test] Replace chicken-egg providers with automated use of unrel…
potiuk May 2, 2025
4514626
[v3-0-test] Fix error on pip 25.1 (#50098) (#50114)
potiuk May 2, 2025
5f45f83
[v3-0-test] Add `state` attribute to `RuntimeTaskInstance` (#50031) (…
github-actions[bot] May 2, 2025
3880c3c
[v3-0-test] Remove special case for building PROD image in non-main b…
potiuk May 2, 2025
e226db4
[v3-0-test] Move SQS message queue to Amazon provider (#50057) (#50096)
potiuk May 2, 2025
0be0fb5
[v3-0-test] Fix version of common.messaging to 1.0.1 (#50099) (#50121)
potiuk May 2, 2025
00f7aef
[v3-0-test] Properly calculate location of the constraints for Airflo…
potiuk May 2, 2025
d396ed9
[v3-0-test] Execution API: Improve task instance logging with structl…
github-actions[bot] May 2, 2025
378146e
[v3-0-test] Fix broken main - update tool versions (#50136) (#50140)
github-actions[bot] May 3, 2025
a20a812
[v3-0-test] Apply task group sorting based on webserver config in gri…
github-actions[bot] May 3, 2025
8953700
[v3-0-test] Better diagnostics and easier use of release dockerhub im…
github-actions[bot] May 3, 2025
a29ef3a
[v3-0-test] Filter out locally built packages from PyPI constraints (…
github-actions[bot] May 3, 2025
c66a68f
[v3-0-test] - fixing handle of null or undefined dates in datetimeUti…
potiuk May 3, 2025
84cf319
[v3-0-test] Better condition for constraint push (#50155) (#50156)
github-actions[bot] May 3, 2025
5b225b6
[v3-0-test] Turn releasing images in two stages - AMD only first and …
github-actions[bot] May 3, 2025
5bf074e
[v3-0-test] Set proper limits for task-sdk in v3-0-test branch (#50164)
potiuk May 4, 2025
1455799
[v3-0-test] Additional validation of whether constraints are availabl…
github-actions[bot] May 4, 2025
85ff419
[v3-0-test] Separate building release images to separate hardware (#5…
potiuk May 4, 2025
bd8ca5c
[v3-0-test] Simplify runs-on conditions to only differentiate AMD/ARM…
potiuk May 5, 2025
98621a0
[v3-0-test] Fix platform retrieval using matrix and not input (#50201…
github-actions[bot] May 5, 2025
3515299
[v3-0-test] Lower bind pyspark and pydruid to relatively new versions…
github-actions[bot] May 5, 2025
40e3cc8
[v3-0-test] Introduce lower bind to lxml as 5.4.0 (#49612) (#50213)
potiuk May 5, 2025
4fbd383
[v3-0-test] Run parallel tests for ARM platform (#50198) (#50233)
potiuk May 6, 2025
f558ead
[v3-0-test] Render custom `map_index_template` on task completion (#4…
github-actions[bot] May 6, 2025
43aaec8
docs(ruff): fix outdated content and add airflow rule list, ruff conf…
Lee-W May 6, 2025
f2cae5f
Fix ContinuousTimetable false triggering when last run ends in future…
jx2lee Apr 30, 2025
93960d8
Add `dag_run_conf` to `RunBackfillForm` (#49763)
guan404ming Apr 30, 2025
9a43eb8
minor cosmetic changes (#50044)
aritra24 Apr 30, 2025
4cc590d
refactor: migrate to new ui endpoint (#50028)
guan404ming Apr 30, 2025
b9d5264
Refactor Dashboard to enhance layout (#50026)
guan404ming Apr 30, 2025
733c7ee
Added the download button on the assets page (#50045)
aritra24 Apr 30, 2025
b174882
Add dateInterval validation and error handling (#50072)
guan404ming May 1, 2025
e23a474
Bump vite from 5.4.18 to 5.4.19 in /airflow-core/src/airflow/ui (#50074)
dependabot[bot] May 1, 2025
848c1b3
Added validation in flexibleform (#49981)
aritra24 May 1, 2025
d581266
Restore hover+selection crosshairs to grid view (#50050)
bbovenzi May 1, 2025
6c42950
Fix date range field alignment (#50086)
guan404ming May 1, 2025
e3b068d
Add auto-refresh for `Stats` (#50088)
guan404ming May 1, 2025
8490b2c
Fix node selections (#50095)
bbovenzi May 1, 2025
a7e74d3
Fix duration charts (#50094)
bbovenzi May 1, 2025
ca8d011
Fix datetime validation (#50116)
guan404ming May 2, 2025
cae6034
Add TIs tab to mapped task details (#50085)
bbovenzi May 2, 2025
44bb101
Added focus view on grid and graph on second click (#50125)
dominic-lcw May 2, 2025
5ad8cb8
Fixes validation error and adds error indicator (#50127)
aritra24 May 2, 2025
604e65d
Add formatted extra to asset events (#50124)
bbovenzi May 3, 2025
554e159
fix: wrap overflowing texts of asset events (#50173)
kevinhongzl May 4, 2025
a40c476
Add audit log extra to table and improve UX (#50100)
bbovenzi May 4, 2025
746257f
Use top-level imports in docs if possible (#50195)
uranusjr May 5, 2025
f001dc2
Handle MappedTaskGroup map indexes (#49996)
Lee-W May 5, 2025
3ecefff
Move webserver expose config to api section (#50209)
pierrejeambrun May 6, 2025
06f909c
Do not use introspection in migration (#49873)
vincbeck May 6, 2025
55ee1da
[v3-0-test] Update run-behind-proxy doc for CSP (#50236) (#50241)
github-actions[bot] May 6, 2025
bb6de6d
[v3-0-test] Add PLATFORM variables missing in CI after ARM adding (#5…
github-actions[bot] May 6, 2025
8bacdd0
[v3-0-test] Fix ErrorAlert white space (#50243) (#50246)
github-actions[bot] May 6, 2025
00082ff
[v3-0-test] Restore operator extra links for mapped tasks (#50238) (#…
github-actions[bot] May 6, 2025
3d6114a
[v3-0-test] Add more tests for both regular and slim image (#50251) (…
github-actions[bot] May 6, 2025
04ec5e0
[v3-0-test] Normalize --platform parameter (#50239) (#50257)
potiuk May 6, 2025
f395cf8
Fix backfill form (#50249) (#50254)
pierrejeambrun May 6, 2025
4c3db9d
[v3-0-test] Doc: Fix typo in `operators-and-hooks-ref.rst` (#50250) (…
github-actions[bot] May 6, 2025
13aa775
[v3-0-test] Docs: Fix example of backfill command (#50222) (#50258)
github-actions[bot] May 6, 2025
77b7679
[v3-0-test] Pass mapIndex to clear the relevant task instances simila…
github-actions[bot] May 6, 2025
59dafde
UI: Fix operator overflow in graph (#50252)
bbovenzi May 6, 2025
09ea351
Doc: Add REST API v2 (``api/v2``) entry in Release Notes (#50264)
kaxil May 6, 2025
377fcaf
[v3-0-test] Moved cleanup to api (#50142) (#50272)
github-actions[bot] May 6, 2025
5e37a2f
Add release notes for 3.0.1
kaxil May 6, 2025
e1c5899
Bump version to 3.0.1
kaxil May 6, 2025
4ecebc2
Bump Task SDK to 1.0.1
kaxil May 6, 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
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,11 @@ github:
required_linear_history: true
required_conversation_resolution: true
required_signatures: false
v3-0-stable:
required_pull_request_reviews:
required_approving_review_count: 1
required_linear_history: true
required_signatures: false
providers-fab/v1-5:
required_pull_request_reviews:
required_approving_review_count: 1
Expand Down
12 changes: 11 additions & 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.9"
uv-version:
description: 'uv version to use'
default: "0.6.13" # Keep this comment to allow automatic replacement of uv version
default: "0.7.2" # 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 Expand Up @@ -61,6 +61,16 @@ runs:
key: cache-pre-commit-v4-${{ inputs.python-version }}-${{ hashFiles('.pre-commit-config.yaml') }}
path: /tmp/
id: restore-pre-commit-cache
- name: "Check if pre-commit cache tarball exists"
shell: bash
run: |
if [ -f /tmp/cache-pre-commit.tar.gz ]; then
echo "✅ Cache tarball found: /tmp/cache-pre-commit.tar.gz"
else
echo "❌ Cache tarball missing. Expected /tmp/cache-pre-commit.tar.gz"
exit 1
fi
if: steps.restore-pre-commit-cache.outputs.stash-hit == 'true'
- name: "Restore .cache from the tar file"
run: tar -C ~ -xzf /tmp/cache-pre-commit.tar.gz
shell: bash
Expand Down
54 changes: 13 additions & 41 deletions .github/workflows/additional-ci-image-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,24 +20,20 @@ name: Additional CI image checks
on: # yamllint disable-line rule:truthy
workflow_call:
inputs:
runs-on-as-json-default:
description: "The array of labels (in json form) determining default runner used for the build."
runners:
description: "The array of labels (in json form) determining runners."
required: true
type: string
runs-on-as-json-public:
description: "The array of labels (in json form) determining public runners."
required: true
type: string
runs-on-as-json-self-hosted:
description: "The array of labels (in json form) determining self-hosted runners."
platform:
description: "Platform for the build - 'linux/amd64' or 'linux/arm64'"
required: true
type: string
python-versions:
description: "The list of python versions (stringified JSON array) to run the tests on."
required: true
type: string
branch:
description: "Branch used to run the CI jobs in (main/v2_*_test)."
description: "Branch used to run the CI jobs in (main/v*_*_test)."
required: true
type: string
constraints-branch:
Expand Down Expand Up @@ -103,26 +99,27 @@ jobs:
# from forks. This is to prevent malicious PRs from creating images in the "apache/airflow" repo.
packages: write
with:
runs-on-as-json-public: ${{ inputs.runs-on-as-json-public }}
runs-on-as-json-self-hosted: ${{ inputs.runs-on-as-json-self-hosted }}
runners: ${{ inputs.runners }}
cache-type: "Early"
include-prod-images: "false"
push-latest-images: "false"
platform: "linux/amd64"
platform: ${{ inputs.platform }}
python-versions: ${{ inputs.python-versions }}
branch: ${{ inputs.branch }}
constraints-branch: ${{ inputs.constraints-branch }}
use-uv: ${{ inputs.use-uv }}
include-success-outputs: ${{ inputs.include-success-outputs }}
docker-cache: ${{ inputs.docker-cache }}
disable-airflow-repo-cache: ${{ inputs.disable-airflow-repo-cache }}
if: inputs.branch == 'main'
if: >
inputs.canary-run == 'true' &&
(github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')

# Check that after earlier cache push, breeze command will build quickly
check-that-image-builds-quickly:
timeout-minutes: 11
name: Check that image builds quickly
runs-on: ${{ fromJSON(inputs.runs-on-as-json-public) }}
runs-on: ${{ fromJSON(inputs.runners) }}
env:
UPGRADE_TO_NEWER_DEPENDENCIES: false
PYTHON_MAJOR_MINOR_VERSION: ${{ inputs.default-python-version }}
Expand All @@ -131,6 +128,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.actor }}
VERBOSE: "true"
PLATFORM: ${{ inputs.platform }}
if: inputs.branch == 'main'
steps:
- name: "Cleanup repo"
Expand All @@ -152,30 +150,4 @@ jobs:
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 "linux/amd64"

# # This is only a check if ARM images are successfully building when committer runs PR from
# # Apache repository. This is needed in case you want to fix failing cache job in "canary" run
# # There is no point in running this one in "canary" run, because the above step is doing the
# # same build anyway.
# build-ci-arm-images:
# name: Build CI ARM images
# uses: ./.github/workflows/ci-image-build.yml
# permissions:
# contents: read
# packages: write
# with:
# platform: "linux/arm64"
# push-image: "false"
# upload-image-artifact: "true"
# upload-mount-cache-artifact: ${{ inputs.canary-run }}
# runs-on-as-json-public: ${{ inputs.runs-on-as-json-public }}
# runs-on-as-json-self-hosted: ${{ inputs.runs-on-as-json-self-hosted }}
# python-versions: ${{ inputs.python-versions }}
# branch: ${{ inputs.branch }}
# constraints-branch: ${{ inputs.constraints-branch }}
# use-uv: ${{ inputs.use-uv }}
# upgrade-to-newer-dependencies: ${{ inputs.upgrade-to-newer-dependencies }}
# docker-cache: ${{ inputs.docker-cache }}
# disable-airflow-repo-cache: ${{ inputs.disable-airflow-repo-cache }}
#
run: breeze shell --max-time 600 --platform "${PLATFORM}"
30 changes: 14 additions & 16 deletions .github/workflows/additional-prod-image-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,12 @@ name: Additional PROD image tests
on: # yamllint disable-line rule:truthy
workflow_call:
inputs:
runs-on-as-json-public:
description: "The array of labels (in json form) determining public runners."
runners:
description: "The array of labels (in json form) determining runners."
required: true
type: string
platform:
description: "Platform for the build - 'linux/amd64' or 'linux/arm64'"
required: true
type: string
default-branch:
Expand All @@ -36,10 +40,6 @@ on: # yamllint disable-line rule:truthy
description: "Whether to upgrade to newer dependencies (true/false)"
required: true
type: string
chicken-egg-providers:
description: "Whether to build chicken-egg provider distributions in the same run (true/false)"
required: true
type: string
docker-cache:
description: "Docker cache specification to build the image (registry, local, disabled)."
required: true
Expand Down Expand Up @@ -67,14 +67,13 @@ jobs:
name: PROD image extra checks (main)
uses: ./.github/workflows/prod-image-extra-checks.yml
with:
runs-on-as-json-public: ${{ inputs.runs-on-as-json-public }}
runners: ${{ inputs.runners }}
platform: ${{ inputs.platform }}
python-versions: "[ '${{ inputs.default-python-version }}' ]"
default-python-version: ${{ inputs.default-python-version }}
branch: ${{ inputs.default-branch }}
use-uv: "false"
build-provider-distributions: ${{ inputs.default-branch == 'main' }}
upgrade-to-newer-dependencies: ${{ inputs.upgrade-to-newer-dependencies }}
chicken-egg-providers: ${{ inputs.chicken-egg-providers }}
constraints-branch: ${{ inputs.constraints-branch }}
docker-cache: ${{ inputs.docker-cache }}
disable-airflow-repo-cache: ${{ inputs.disable-airflow-repo-cache }}
Expand All @@ -84,14 +83,13 @@ jobs:
name: PROD image extra checks (release)
uses: ./.github/workflows/prod-image-extra-checks.yml
with:
runs-on-as-json-public: ${{ inputs.runs-on-as-json-public }}
runners: ${{ inputs.runners }}
platform: ${{ inputs.platform }}
python-versions: "[ '${{ inputs.default-python-version }}' ]"
default-python-version: ${{ inputs.default-python-version }}
branch: ${{ inputs.default-branch }}
use-uv: "false"
build-provider-distributions: ${{ inputs.default-branch == 'main' }}
upgrade-to-newer-dependencies: ${{ inputs.upgrade-to-newer-dependencies }}
chicken-egg-providers: ${{ inputs.chicken-egg-providers }}
constraints-branch: ${{ inputs.constraints-branch }}
docker-cache: ${{ inputs.docker-cache }}
disable-airflow-repo-cache: ${{ inputs.disable-airflow-repo-cache }}
Expand All @@ -100,7 +98,7 @@ jobs:
test-examples-of-prod-image-building:
timeout-minutes: 60
name: "Test examples of PROD image building"
runs-on: ${{ fromJSON(inputs.runs-on-as-json-public) }}
runs-on: ${{ fromJSON(inputs.runners) }}
env:
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -120,7 +118,7 @@ jobs:
- name: "Prepare breeze & PROD image: ${{ inputs.default-python-version }}"
uses: ./.github/actions/prepare_breeze_and_image
with:
platform: "linux/amd64"
platform: ${{ inputs.platform }}
image-type: "prod"
python: ${{ inputs.default-python-version }}
use-uv: ${{ inputs.use-uv }}
Expand All @@ -138,7 +136,7 @@ jobs:
test-docker-compose-quick-start:
timeout-minutes: 60
name: "Docker Compose quick start with PROD image verifying"
runs-on: ${{ fromJSON(inputs.runs-on-as-json-public) }}
runs-on: ${{ fromJSON(inputs.runners) }}
env:
PYTHON_MAJOR_MINOR_VERSION: "${{ inputs.default-python-version }}"
GITHUB_REPOSITORY: ${{ github.repository }}
Expand All @@ -157,7 +155,7 @@ jobs:
- name: "Prepare breeze & PROD image: ${{ env.PYTHON_MAJOR_MINOR_VERSION }}"
uses: ./.github/actions/prepare_breeze_and_image
with:
platform: "linux/amd64"
platform: ${{ inputs.platform }}
image-type: "prod"
python: ${{ env.PYTHON_MAJOR_MINOR_VERSION }}
use-uv: ${{ inputs.use-uv }}
Expand Down
17 changes: 10 additions & 7 deletions .github/workflows/airflow-distributions-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,14 @@ on: # yamllint disable-line rule:truthy
workflow_call:
inputs:
# Static inputs defined to choose which distribution to test to run
runners:
description: "The array of labels (in json form) determining runners."
required: true
type: string
platform:
description: "Platform for the build - 'linux/amd64' or 'linux/arm64'"
required: true
type: string
distribution-name:
description: "The name of the distribution to test"
required: true
Expand All @@ -33,11 +41,6 @@ on: # yamllint disable-line rule:truthy
description: "distribution test type" # eg task-sdk-tests
required: true
type: string
# Environment inputs
runs-on-as-json-default:
description: "The array of labels (in json form) determining default runner used for the build."
required: true
type: string
default-python-version:
description: "Which version of python should be used by default"
required: true
Expand All @@ -60,7 +63,7 @@ jobs:
distributions-tests:
timeout-minutes: 80
name: ${{ inputs.distribution-name }}:P${{ matrix.python-version }} tests
runs-on: ${{ fromJSON(inputs.runs-on-as-json-default) }}
runs-on: ${{ fromJSON(inputs.runners) }}
strategy:
fail-fast: false
matrix:
Expand All @@ -83,7 +86,7 @@ jobs:
- name: "Prepare breeze & CI image: ${{ matrix.python-version }}"
uses: ./.github/actions/prepare_breeze_and_image
with:
platform: "linux/amd64"
platform: ${{ inputs.platform }}
python: ${{ matrix.python-version }}
use-uv: ${{ inputs.use-uv }}
- name: "Cleanup dist files"
Expand Down
46 changes: 24 additions & 22 deletions .github/workflows/basic-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ name: Basic tests
on: # yamllint disable-line rule:truthy
workflow_call:
inputs:
runs-on-as-json-public:
description: "The array of labels (in json form) determining public runners."
runners:
description: "The array of labels (in json form) determining runners."
required: true
type: string
run-ui-tests:
Expand Down Expand Up @@ -66,7 +66,7 @@ jobs:
run-breeze-tests:
timeout-minutes: 10
name: Breeze unit tests
runs-on: ${{ fromJSON(inputs.runs-on-as-json-public) }}
runs-on: ${{ fromJSON(inputs.runners) }}
steps:
- name: "Cleanup repo"
shell: bash
Expand All @@ -87,7 +87,7 @@ jobs:
tests-ui:
timeout-minutes: 15
name: React UI tests
runs-on: ${{ fromJSON(inputs.runs-on-as-json-public) }}
runs-on: ${{ fromJSON(inputs.runners) }}
if: inputs.run-ui-tests == 'true'
steps:
- name: "Cleanup repo"
Expand Down Expand Up @@ -155,7 +155,7 @@ jobs:
install-pre-commit:
timeout-minutes: 5
name: "Install pre-commit for cache"
runs-on: ${{ fromJSON(inputs.runs-on-as-json-public) }}
runs-on: ${{ fromJSON(inputs.runners) }}
env:
PYTHON_MAJOR_MINOR_VERSION: "${{ inputs.default-python-version }}"
steps:
Expand Down Expand Up @@ -183,7 +183,7 @@ jobs:
static-checks-basic-checks-only:
timeout-minutes: 30
name: "Static checks: basic checks only"
runs-on: ${{ fromJSON(inputs.runs-on-as-json-public) }}
runs-on: ${{ fromJSON(inputs.runners) }}
needs: install-pre-commit
if: inputs.basic-checks-only == 'true'
steps:
Expand Down Expand Up @@ -236,7 +236,7 @@ jobs:
upgrade-check:
timeout-minutes: 45
name: "Upgrade checks"
runs-on: ${{ fromJSON(inputs.runs-on-as-json-public) }}
runs-on: ${{ fromJSON(inputs.runners) }}
needs: install-pre-commit
env:
PYTHON_MAJOR_MINOR_VERSION: "${{ inputs.default-python-version }}"
Expand Down Expand Up @@ -306,7 +306,7 @@ jobs:
test-airflow-release-commands:
timeout-minutes: 80
name: "Test Airflow release commands"
runs-on: ${{ fromJSON(inputs.runs-on-as-json-public) }}
runs-on: ${{ fromJSON(inputs.runners) }}
env:
PYTHON_MAJOR_MINOR_VERSION: "${{ inputs.default-python-version }}"
GITHUB_REPOSITORY: ${{ github.repository }}
Expand Down Expand Up @@ -337,24 +337,26 @@ jobs:
- name: Install twine
run: pip install twine
- name: "Check Airflow create minor branch command"
run: |
./scripts/ci/testing/run_breeze_command_with_retries.sh \
release-management create-minor-branch --version-branch 2-8 --answer yes
run: >
breeze release-management create-minor-branch
--version-branch 3-1 --answer yes --dry-run
- name: "Check Airflow RC process command"
run: |
./scripts/ci/testing/run_breeze_command_with_retries.sh \
release-management start-rc-process --version 2.8.3rc1 --previous-version 2.8.0 --answer yes
run: >
breeze release-management start-rc-process
--version 3.1.0rc1 --previous-version 3.0.0 --answer yes --dry-run
- name: "Check Airflow release process command"
run: |
./scripts/ci/testing/run_breeze_command_with_retries.sh \
release-management start-release --release-candidate 2.8.3rc1 --previous-release 2.8.0 --answer yes
run: >
breeze release-management start-release --release-candidate 3.1.0rc1
--previous-release 3.0.0 --answer yes --dry-run
- name: "Test providers metadata generation"
run: |
./scripts/ci/testing/run_breeze_command_with_retries.sh \
release-management generate-providers-metadata --refresh-constraints
- name: "Fetch all git tags"
git remote add apache https://github.com/apache/airflow.git
git fetch apache --tags
breeze release-management generate-providers-metadata --refresh-constraints
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Fetch all git tags for origin"
run: git fetch --tags >/dev/null 2>&1 || true
- name: "Test airflow core issue generation automatically"
run: |
./scripts/ci/testing/run_breeze_command_with_retries.sh \
release-management generate-issue-content-core --limit-pr-count 25 --latest --verbose
breeze release-management generate-issue-content-core --limit-pr-count 25 --latest --verbose
Loading
Loading