Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
ac5c3e0
Update default branches for 2-10
ephraimbuddy Aug 9, 2024
ac40b27
Typo fix dataset guide (#41353)
TJaniF Aug 9, 2024
1002266
regenerate command hashes
ephraimbuddy Aug 9, 2024
f2a15d4
Fix Gantt Task Tries (#41342)
bbovenzi Aug 9, 2024
0ee7aff
Revert "Send context using in venv operator (#41039)" (#41362)
ephraimbuddy Aug 9, 2024
6b6224a
Retain the function "resource_name_for_dag" for backwards compatibili…
ephraimbuddy Aug 11, 2024
0d87d27
Update version to 2.10.0
ephraimbuddy Aug 9, 2024
4fce874
Update RELEASE_NOTES.rst
ephraimbuddy Aug 9, 2024
a7d48cb
Fix tests/models/test_taskinstance.py for Database Isolation Tests (#…
jscheffl Aug 9, 2024
dc0548e
Fix TriggerDagRunOperator Tests for Database Isolation Tests (#41298)
jscheffl Aug 9, 2024
2740c1c
Fix core tests from start to SkipMixin for Database Isolation Mode (#…
jscheffl Aug 10, 2024
9f3c1ae
Fix Variable and KubernetesJobOperator Tests for Database Isolation T…
bugraoz93 Aug 11, 2024
ef147dd
Fix pytests for Core except Variable for DB Isolation Mode (#41375)
jscheffl Aug 11, 2024
34e2c9c
bump uv version to 0.2.34 (#41334)
dirrao Aug 11, 2024
09567dc
Skip docs publishing on non-main brnaches (#41385)
potiuk Aug 11, 2024
6c6797c
Fix mypy checks for new azure libraries (#41386)
potiuk Aug 11, 2024
8ea4eb1
Fix tests/decorators/test_python.py for database isolation tests (#4…
bugraoz93 Aug 11, 2024
e001b88
fix DagPriorityParsingRequest unique constraint error when dataset al…
Lee-W Aug 12, 2024
535f27b
Make PROD image building works in non-main PRs (#41480) (#41484) (#41…
potiuk Aug 20, 2024
91f8265
Sync v2-10-stable with v2-10-test to release python client v2.10.0 (#…
utkarsharma2 Aug 22, 2024
6f2121a
Fix try selector refresh (#41483) (#41503)
bbovenzi Aug 19, 2024
29270af
Remove debian bullseye support (#41568) (#41569)
potiuk Aug 19, 2024
0d6d1e1
Field Deletion Warning when editing Connections (#41144) (#41504)
bbovenzi Aug 19, 2024
9a32f7d
[Backport] Deprecate implicit default DAG schedule (#41469)
uranusjr Aug 20, 2024
29f61a0
Fix UI rendering when XCom is INT, FLOAT, BOOL or NULL (#41516) (#41605)
jscheffl Aug 20, 2024
36ea9e7
Fix InletEventsAccessors type stub (#41572) (#41607)
uranusjr Aug 20, 2024
8ffe7d6
Set better logging level for path wrapper (#41615) (#41668)
mobuchowski Aug 22, 2024
400dddc
Change confirmation text (#41650) (#41679)
kev-the-dev Aug 22, 2024
ceb6051
Adding url sanitisation for extra links (#41665) (#41680)
amoghrajesh Aug 22, 2024
03e01e7
Splitting syspath preparation into stages (#41672) (#41694)
uranusjr Aug 23, 2024
9deba7b
fix log for notifier(instance) without __name__ (#41591) (#41699)
obarisk Aug 23, 2024
e8f9811
Adding rel property to hyperlinks in logs (#41696) (#41783)
amoghrajesh Aug 27, 2024
da1820b
Bump micromatch from 4.0.5 to 4.0.8 in /airflow/www (#41755)
jscheffl Aug 27, 2024
af3566f
chore(docs): add an example for auth with keycloak (#41687) (#41791)
potiuk Aug 27, 2024
991906c
Remove deprecation warning for cgitb in Plugins Manager (#41732) (#41…
potiuk Aug 27, 2024
4a346a0
Don't Fail LocalTaskJob on heartbeat (#41704) (#41810)
jedcunningham Aug 28, 2024
5565529
Keep FAB compatibility for versions before 1.3.0 in 2.10 (#41549) (#4…
joaopamaral Aug 28, 2024
f986fdb
Pin universal-pathlib to 0.2.2 as 0.2.3 generates static code check e…
potiuk Aug 28, 2024
1bcf94b
Fix: DAGs are not marked as stale if the dags folder change (#41433) …
utkarsharma2 Aug 28, 2024
5699007
Set end_date and duration for triggers completed with end_from_trigge…
Lee-W Aug 28, 2024
bf2efaa
logout link in no roles error page fix (#41813) (#41845)
shahar1 Aug 29, 2024
6fb6fdb
Handle Example dags case when checking for missing files (#41856) (#4…
utkarsharma2 Aug 30, 2024
a6dfae3
Bump webpack from 5.76.0 to 5.94.0 in /airflow/www (#41864) (#41879)
potiuk Aug 30, 2024
09ec261
Adding tojson filter to example_inlet_event_extra example dag (#41873…
potiuk Aug 30, 2024
fa03a32
Skip test_scan_stale_dags_when_dag_folder_change in DB isolation mode…
utkarsharma2 Aug 30, 2024
aafad2a
Make Scarf usage reporting in major+minor versions and counters in bu…
jscheffl Aug 30, 2024
d4c2dd0
Update release command for Airflow 2 (#41907)
ephraimbuddy Sep 1, 2024
d177978
Upgrade UV to 0.4.1 (#41925) (#41926)
potiuk Sep 1, 2024
6d8e88c
Add backcompat check for executors that don't inherit BaseExecutor (#…
potiuk Sep 1, 2024
4cd17c0
Update version to 2.10.1.
utkarsharma2 Aug 30, 2024
3273171
Update RELEASE_NOTES.rst
utkarsharma2 Aug 30, 2024
3304c2a
Protect against None components of universal pathlib xcom backend (#4…
potiuk Sep 2, 2024
8541731
Lower down universal-pathlib minimum to 0.2.2 (#41939) (#41943)
potiuk Sep 2, 2024
9d82d8d
ci: improve check_deferrable_default script to cover positional varia…
Lee-W Sep 2, 2024
cc0647c
Simpler task retrieval for taskinstance test (#41389) (#41953)
ephraimbuddy Sep 2, 2024
59426a6
Deprecate ``--tree`` flag for ``tasks list`` cli command (#41965)
jedcunningham Sep 3, 2024
d3a8849
Add warning that listeners can be dangerous (#41968)
Lee-W Sep 3, 2024
a124067
Switch to using emulation for image building (#41959) (#41962)
potiuk Sep 3, 2024
efea741
Skip database isolation case for task mapping taskinstance tests (#41…
utkarsharma2 Sep 3, 2024
f2cb42f
Correct scheduled slots documentation and missing open telemetry span…
jedcunningham Sep 4, 2024
9910f3a
Improve docs on markdown docs in DAGs (#42013)
jscheffl Sep 4, 2024
5267cff
Update dags.rst (#41999) (#42026)
potiuk Sep 5, 2024
93311cb
Add note about dataclasses and attrs to XComs page (#42045) (#42056)
potiuk Sep 6, 2024
c7a34df
Rewrite how DAG to dataset / dataset alias are stored (#41987) (#42055)
Lee-W Sep 6, 2024
4b38e34
Add new type of exception to catch timeout (#42064) (#42078)
potiuk Sep 6, 2024
1d005eb
Update security_model.rst to clear unauthenticated endpoints exceptio…
jscheffl Sep 8, 2024
9169d64
Autofix default deferrable with LibCST (#42089)
Lee-W Sep 8, 2024
fc1d462
Fix typo in plugins.rst (#42106) (#42108)
potiuk Sep 9, 2024
3a3ed6a
Fix details tab log url detection (#42104) (#42114)
pierrejeambrun Sep 9, 2024
6b02182
Support multiline input for Params of type string in trigger UI form …
jscheffl Sep 10, 2024
d9eb420
Fix task_instance and dag_run links from list views (#42138) (#42143)
bbovenzi Sep 10, 2024
9de0e59
Limit universal-pathlib below 0.2.4 as it breaks our integration (#42…
potiuk Sep 11, 2024
80047e3
do not camelcase xcom entries (#42182) (#42187)
jscheffl Sep 11, 2024
6a0aac8
Add extra and renderedTemplates as keys to skip camelCasing (#42206) …
jscheffl Sep 13, 2024
7208f37
fix: only treat null/undefined as falsy when rendering XComEntry (#42…
pierrejeambrun Sep 13, 2024
871c529
Fix require_confirmation_dag_change (#42063) (#42211)
pierrejeambrun Sep 13, 2024
0b74a08
Revert "Handle Example dags case when checking for missing files (#41…
ephraimbuddy Sep 13, 2024
c403e75
Revert "Fix: DAGs are not marked as stale if the dags folder change" …
ephraimbuddy Sep 13, 2024
cd8d7b5
update requires (#42223)
romsharon98 Sep 13, 2024
4a35216
allow dataset alias to add more than one dataset events (#42189) (#42…
utkarsharma2 Sep 16, 2024
4d2201f
Update Airflow version to 2.10.2
ephraimbuddy Sep 13, 2024
35087d7
Update RELEASE_NOTES.rst
ephraimbuddy Sep 13, 2024
4c9258d
Limit branches for pull request target workflow (#42635)
potiuk Oct 2, 2024
bf0ba5a
Fix documentation for cpu and memory usage (#42147) (#42256)
vincbeck Sep 16, 2024
1fc0d85
fix: Correct docstring format in _get_template_context (#42244) (#42272)
romsharon98 Sep 17, 2024
3696fd0
Bump dompurify from 2.2.9 to 2.5.6 in /airflow/www (#42263) (#42270)
pierrejeambrun Sep 17, 2024
c39d66c
Update StatsD Image Tag from failed dependencies check (#42264) (#42281)
jscheffl Sep 17, 2024
3fc3a54
Use `selectinload` in trigger (#40487) (#42351)
vincbeck Sep 19, 2024
ec1c4dc
apply otel_service on metrics (#42242) (#42441)
romsharon98 Sep 25, 2024
e405c2a
Bugfix task execution from runner in Windows (#42426) (#42478)
jscheffl Sep 25, 2024
c26b102
Fix the span link of task instance to point to the correct span in th…
shahar1 Sep 25, 2024
f890906
Do not attempt to provide not stringified objects to UI via xcom if p…
jscheffl Sep 26, 2024
a1db772
fix: ensure DAG trigger form submits with updated parameters upon key…
pierrejeambrun Sep 26, 2024
082ceb2
Handle ENTER key correctly in trigger form and allow manual JSON (#42…
pierrejeambrun Sep 27, 2024
0d41c12
Fix broken main re generated api typescript comment (#42500) (#42537)
pierrejeambrun Sep 27, 2024
4039b42
reduce eyestrain in dark mode with reduced contrast and saturation (#…
pierrejeambrun Sep 30, 2024
4b24e81
Doc update - Airflow local settings no longer importable from dags fo…
potiuk Oct 1, 2024
1ad33e2
Support of host.name in OTEL metrics and usage of OTEL_RESOURCE_ATTRI…
potiuk Oct 1, 2024
69e1dd7
Prevent redirect loop on /home with tags/lastrun filters (#42607) (#4…
jscheffl Oct 2, 2024
09b305c
[BACKPORT] Add retry logic in the scheduler for updating trigger time…
shahar1 Oct 2, 2024
7f6b556
Correctly select task in DAG Graph View when clicking on its name (#3…
bbovenzi Oct 3, 2024
08a7c27
fix(datasets/managers): fix error handling file loc when dataset ali…
Lee-W Oct 8, 2024
a94e906
Fix dag warning documentation (#42858) (#42888)
pierrejeambrun Oct 10, 2024
ae78392
Improving validation of task retries to handle None values (#42532) (…
jscheffl Oct 10, 2024
3493a25
Remove the referrer from Webserver to Scarf (#42901) (#42942)
kaxil Oct 11, 2024
65b28b8
Restrict looker-sdk version 24.18.0 and microsoft-kiota-http 1.3.4 (#…
potiuk Oct 13, 2024
6fd888e
Docs: Add templating info to TaskFlow tutorial (#42992)
infused-kim Oct 14, 2024
316c664
Fix PythonOperator when DAG has hyphen in name (#42993)
jason810496 Oct 14, 2024
712fc8d
manually commiting cherry pick 6da1799 (#42983)
gopidesupavan Oct 14, 2024
17ec2f7
Update json schema pre-commit to have draft7 schema in file (#43005) …
pierrejeambrun Oct 14, 2024
b2b148a
Flush the session between writing and deletion of RTIF (#42928) (#43012)
ephraimbuddy Oct 14, 2024
ccb088c
Disable flaky mssql based integration tests (#42811) (#43016)
gopidesupavan Oct 15, 2024
a4688e4
Removed unicodecsv dependency for providers with Airflow version 2.8.…
potiuk Oct 15, 2024
de4eca2
update k8s tests urllib3 retry config status_forcelist and allowed_me…
gopidesupavan Oct 15, 2024
0508b47
Improve startup of K8S tests (#42721) (#43025)
gopidesupavan Oct 15, 2024
7623e0e
increase backoff_factor and add try/catch in k8s tests (#42940) (#43030)
gopidesupavan Oct 15, 2024
a5ee717
Deprecate session auth backend (#42911)
vincbeck Oct 15, 2024
3b90b87
Add retry on error 502 and 504 (#42994) (#43044)
jscheffl Oct 15, 2024
a0274f4
Fix v2-10 build dependencies (#43052)
jscheffl Oct 15, 2024
5e6802b
[Backport] Remove zombie from executor (#43065)
uranusjr Oct 16, 2024
ce87095
Clarifying PLUGINS_FOLDER permissions by DAG authors (#43022) (#43029)
potiuk Oct 16, 2024
e66cb08
Added task_instance_mutation_hook for mapped operator index 0 (#42661…
jscheffl Oct 16, 2024
d0af8e3
AIP-69: Breeze adjustments for introduction of Edge Executor (#41731)…
jscheffl Oct 18, 2024
819c45e
Always use logical date in DAG run header (#43148) (#43163)
uranusjr Oct 18, 2024
34251a4
Update trove-classifiers in v2-10 test, backport PR #43021 (#43194)
jscheffl Oct 20, 2024
033bb9f
Update trove-classifiers to 2024.10.21.16
jscheffl Oct 21, 2024
6186258
Temporarily limits WTForms to below 3.2.0 (#43233) (#43234)
jscheffl Oct 21, 2024
8229698
Do not fail the build if only trove-classifiers change (#43236) (#43237)
potiuk Oct 22, 2024
e39c15c
Skip example importability tests for providers in non-main branches (…
potiuk Oct 22, 2024
7b37541
Better handling masking of values of set variable (#43123) (#43278)
potiuk Oct 23, 2024
5b13431
Fixes behaviour of example dag tests for main/other branches (#43273)…
potiuk Oct 23, 2024
020db28
Fix edge-case when conflicting constraints prevent k8s env creation (…
potiuk Oct 23, 2024
8db81d1
Add isolation mode exclusion for mapped operator test (#43297) (#43311)
potiuk Oct 23, 2024
413bdfa
Check python version that was used to install pre-commit venvs (#4328…
potiuk Oct 23, 2024
2b619ac
fix schedule_downstream_tasks bug (#42582) (#43299)
potiuk Oct 23, 2024
367c0b0
Mark sometimes failing heartbeat test and view test as flaky (#43250)…
potiuk Oct 23, 2024
d07f2e9
Upgrade FAB to 4.5.1 (#43251) (#43316)
potiuk Oct 23, 2024
4131ee0
Backport: Bump Flask-AppBuilder to ``4.5.2`` (#43309) (#43318)
kaxil Oct 23, 2024
1eadd75
Fix instruction for docker compose(tested on Mac M1) (#43119) (#43321)
shahar1 Oct 23, 2024
c4ca3cd
[Backport] BashOperator: Execute templated bash script as file (#43191)
Joffreybvn Oct 24, 2024
4938ffc
Masking configuration values irrelevant to DAG author (#43040) (#43336)
potiuk Oct 24, 2024
5ae628a
Suppress warnings when masking sensitive confs (#43335) (#43337)
potiuk Oct 24, 2024
07c77bd
Fixed type in section Object Storage XCom Backend in file xcoms.rst (…
shahar1 Oct 24, 2024
17dc189
Add Airflow 3 ui & task_sdk directories to gitignore (#43319)
kaxil Oct 24, 2024
56a8da6
Remove Scarf analytics from Airflow Webserver (#43346) (#43348)
kaxil Oct 24, 2024
6cad40e
rename ill-named constraints in dag_schedule_dataset_alias_reference …
Lee-W Oct 26, 2024
65bcce2
ci(pre-commit): migrate pre-commit config (#43372)
Lee-W Oct 25, 2024
6227911
prevent out of index error in getDagRunLabel function (#43388) (#43404)
romsharon98 Oct 27, 2024
0db817e
Update Airflow version to 2.10.3
utkarsharma2 Oct 24, 2024
7557819
Update RELEASE_NOTES.rst
utkarsharma2 Oct 24, 2024
dd296c5
This PR resolves an SQLAlchemy warning in the migration by correctly …
Lee-W Oct 28, 2024
9c044ea
include limit and offset in request body schema for List task instanc…
rawwar Oct 29, 2024
7aea4b5
Ensure total_entries in /api/v1/dags (#43377) (#43429)
pierrejeambrun Oct 30, 2024
898f332
Fix broken stat scheduler_loop_duration (#42886) (#43544)
potiuk Oct 31, 2024
c12e628
Conditionally add OTEL events when processing executor events (#43558…
jedcunningham Oct 31, 2024
8e79c7a
Fix TrySelector for Mapped Tasks in Logs and Details Grid Panel (#43566)
jscheffl Nov 1, 2024
7e86bf8
Mark all tasks as skipped when failing a dag_run manually including t…
utkarsharma2 Nov 1, 2024
08bbf89
FIX: Don't raise a warning in ExecutorSafeguard when execute is calle…
jscheffl Nov 1, 2024
1c7fba7
mark test_task_workflow_trigger_success as flaky (#42972) (#43580)
utkarsharma2 Nov 1, 2024
c99887e
Update RELEASE_NOTES.rst
utkarsharma2 Nov 1, 2024
f1cb6c3
Retry exponential backoff float overflow fixed
Mar 19, 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: 4 additions & 1 deletion .github/workflows/basic-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,8 @@ jobs:
--hook-stage manual
update-build-dependencies
if: always()
env:
SKIP_TROVE_CLASSIFIERS_ONLY: "true"
- name: "Run automated upgrade for chart dependencies"
run: >
pre-commit run
Expand Down Expand Up @@ -372,7 +374,8 @@ jobs:
run: breeze release-management create-minor-branch --version-branch 2-8 --answer yes
- name: "Check Airflow RC process command"
run: >
breeze release-management start-rc-process --version 2.8.3rc1 --previous-version 2.8.0 --answer yes
breeze release-management start-rc-process --version 2.8.3rc1 --previous-version 2.8.0
--sync-branch sync_v2_8_test --answer yes
- name: "Check Airflow release process command"
run: >
breeze release-management start-release --release-candidate 2.8.3rc1 --previous-release 2.8.0
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/build-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ run-name: >
Build images for ${{ github.event.pull_request.title }} ${{ github.event.pull_request._links.html.href }}
on: # yamllint disable-line rule:truthy
pull_request_target:
branches:
- main
- v2-10-stable
- v2-10-test
permissions:
# all other permissions are set to none
contents: read
Expand Down Expand Up @@ -241,14 +245,14 @@ jobs:
pull-request-target: "true"
is-committer-build: ${{ needs.build-info.outputs.is-committer-build }}
push-image: "true"
use-uv: ${{ needs.build-info.outputs.default-branch == 'main' && 'true' || 'false' }}
use-uv: "true"
image-tag: ${{ needs.build-info.outputs.image-tag }}
platform: "linux/amd64"
python-versions: ${{ needs.build-info.outputs.python-versions }}
default-python-version: ${{ needs.build-info.outputs.default-python-version }}
branch: ${{ needs.build-info.outputs.default-branch }}
constraints-branch: ${{ needs.build-info.outputs.constraints-branch }}
build-provider-packages: "true"
build-provider-packages: ${{ needs.build-info.outputs.default-branch == 'main' }}
upgrade-to-newer-dependencies: ${{ needs.build-info.outputs.upgrade-to-newer-dependencies }}
chicken-egg-providers: ${{ needs.build-info.outputs.chicken-egg-providers }}
docker-cache: ${{ needs.build-info.outputs.docker-cache }}
2 changes: 1 addition & 1 deletion .github/workflows/ci-image-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ on: # yamllint disable-line rule:truthy
default: "true"
type: string
debian-version:
description: "Base Debian distribution to use for the build (bookworm/bullseye)"
description: "Base Debian distribution to use for the build (bookworm)"
type: string
default: "bookworm"
install-mysql-client-type:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ on: # yamllint disable-line rule:truthy
push:
branches: ['v[0-9]+-[0-9]+-test']
pull_request:
branches: ['main']
branches: ['main', 'v[0-9]+-[0-9]+-test', 'v[0-9]+-[0-9]+-stable']
workflow_dispatch:
permissions:
# All other permissions are set to none
Expand Down Expand Up @@ -541,7 +541,7 @@ jobs:
default-python-version: ${{ needs.build-info.outputs.default-python-version }}
branch: ${{ needs.build-info.outputs.default-branch }}
push-image: "true"
use-uv: ${{ needs.build-info.outputs.default-branch == 'main' && 'true' || 'false' }}
use-uv: "true"
build-provider-packages: ${{ needs.build-info.outputs.default-branch == 'main' }}
upgrade-to-newer-dependencies: ${{ needs.build-info.outputs.upgrade-to-newer-dependencies }}
chicken-egg-providers: ${{ needs.build-info.outputs.chicken-egg-providers }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/prod-image-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ on: # yamllint disable-line rule:truthy
required: true
type: string
debian-version:
description: "Base Debian distribution to use for the build (bookworm/bullseye)"
description: "Base Debian distribution to use for the build (bookworm)"
type: string
default: "bookworm"
install-mysql-client-type:
Expand Down
21 changes: 0 additions & 21 deletions .github/workflows/prod-image-extra-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,27 +64,6 @@ on: # yamllint disable-line rule:truthy
required: true
type: string
jobs:
bullseye-image:
uses: ./.github/workflows/prod-image-build.yml
with:
runs-on-as-json-public: ${{ inputs.runs-on-as-json-public }}
build-type: "Bullseye"
upload-package-artifact: "false"
image-tag: bullseye-${{ inputs.image-tag }}
debian-version: "bullseye"
python-versions: ${{ inputs.python-versions }}
default-python-version: ${{ inputs.default-python-version }}
platform: "linux/amd64"
branch: ${{ inputs.branch }}
# Always build images during the extra checks and never push them
push-image: "false"
use-uv: ${{ inputs.use-uv }}
build-provider-packages: ${{ inputs.build-provider-packages }}
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 }}

myssql-client-image:
uses: ./.github/workflows/prod-image-build.yml
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/push-image-cache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ on: # yamllint disable-line rule:truthy
required: true
type: string
debian-version:
description: "Base Debian distribution to use for the build (bookworm/bullseye)"
description: "Base Debian distribution to use for the build (bookworm)"
type: string
default: "bookworm"
install-mysql-client-type:
Expand Down
35 changes: 28 additions & 7 deletions .github/workflows/release_dockerhub_image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ jobs:
release-images:
timeout-minutes: 120
name: "Release images: ${{ github.event.inputs.airflowVersion }}, ${{ matrix.python-version }}"
runs-on: ["self-hosted", "Linux", "X64"]
runs-on: ["ubuntu-22.04"]
needs: [build-info]
strategy:
fail-fast: false
Expand Down Expand Up @@ -102,15 +102,39 @@ jobs:
run: breeze ci free-space --answer yes
- name: "Cleanup dist and context file"
run: rm -fv ./dist/* ./docker-context-files/*
- name: "Start ARM instance"
run: ./scripts/ci/images/ci_start_arm_instance_and_connect_to_docker.sh
if: github.repository == 'apache/airflow'
- name: "Login to hub.docker.com"
run: >
echo ${{ secrets.DOCKERHUB_TOKEN }} |
docker login --password-stdin --username ${{ secrets.DOCKERHUB_USER }}
- name: Login to ghcr.io
run: echo "${{ env.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: "Install buildx plugin"
# yamllint disable rule:line-length
run: |
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt install docker-buildx-plugin
- name: "Install regctl"
# yamllint disable rule:line-length
run: |
mkdir -p ~/bin
curl -L https://github.com/regclient/regclient/releases/latest/download/regctl-linux-amd64 >${HOME}/bin/regctl
chmod 755 ${HOME}/bin/regctl
echo "${HOME}/bin" >>${GITHUB_PATH}
- name: "Install emulation support"
run: docker run --privileged --rm tonistiigi/binfmt --install all
- name: "Create airflow_cache builder"
run: docker buildx create --name airflow_cache
- name: "Prepare chicken-eggs provider packages"
# In case of provider packages which use latest dev0 version of providers, we should prepare them
# from the source code, not from the PyPI because they have apache-airflow>=X.Y.Z dependency
Expand Down Expand Up @@ -148,9 +172,6 @@ jobs:
--limit-python ${{ matrix.python-version }} --slim-images
env:
COMMIT_SHA: ${{ github.sha }}
- name: "Stop ARM instance"
run: ./scripts/ci/images/ci_stop_arm_instance.sh
if: always() && github.repository == 'apache/airflow'
- name: >
Verify regular AMD64 image: ${{ github.event.inputs.airflowVersion }}, ${{ matrix.python-version }}
run: >
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/run-unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,11 @@ on: # yamllint disable-line rule:truthy
required: false
default: "true"
type: string
database-isolation:
description: "Whether to enable database isolattion or not (true/false)"
required: false
default: "false"
type: string
force-lowest-dependencies:
description: "Whether to force lowest dependencies for the tests or not (true/false)"
required: false
Expand Down Expand Up @@ -152,6 +157,7 @@ jobs:
PYTHON_MAJOR_MINOR_VERSION: "${{ matrix.python-version }}"
UPGRADE_BOTO: "${{ inputs.upgrade-boto }}"
AIRFLOW_MONITOR_DELAY_TIME_IN_SECONDS: "${{inputs.monitor-delay-time-in-seconds}}"
DATABASE_ISOLATION: "${{ inputs.database-isolation }}"
VERBOSE: "true"
steps:
- name: "Cleanup repo"
Expand Down
23 changes: 23 additions & 0 deletions .github/workflows/special-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,29 @@ jobs:
run-coverage: ${{ inputs.run-coverage }}
debug-resources: ${{ inputs.debug-resources }}

tests-database-isolation:
name: "Database isolation test"
uses: ./.github/workflows/run-unit-tests.yml
permissions:
contents: read
packages: read
secrets: inherit
with:
runs-on-as-json-default: ${{ inputs.runs-on-as-json-default }}
enable-aip-44: "true"
database-isolation: "true"
test-name: "DatabaseIsolation-Postgres"
test-scope: "DB"
backend: "postgres"
image-tag: ${{ inputs.image-tag }}
python-versions: "['${{ inputs.default-python-version }}']"
backend-versions: "['${{ inputs.default-postgres-version }}']"
excludes: "[]"
parallel-test-types-list-as-string: ${{ inputs.parallel-test-types-list-as-string }}
include-success-outputs: ${{ needs.build-info.outputs.include-success-outputs }}
run-coverage: ${{ inputs.run-coverage }}
debug-resources: ${{ inputs.debug-resources }}

tests-quarantined:
name: "Quarantined test"
uses: ./.github/workflows/run-unit-tests.yml
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/static-checks-mypy-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ jobs:
INCLUDE_SUCCESS_OUTPUTS: "${{ inputs.include-success-outputs }}"
PYTHON_MAJOR_MINOR_VERSION: "${{ inputs.default-python-version }}"
VERBOSE: "true"
if: inputs.canary-run == 'true'
if: inputs.canary-run == 'true' && inputs.branch == 'main'
steps:
- name: "Cleanup repo"
shell: bash
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -246,3 +246,8 @@ licenses/LICENSES-ui.txt

# airflow-build-dockerfile and correconding ignore file
airflow-build-dockerfile*

# Airflow 3 files
# These directories are ignored so someone can develop on both of them without deleting files manually
airflow/ui
task_sdk
26 changes: 17 additions & 9 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
---
default_stages: [commit, push]
default_stages: [pre-commit, pre-push]
default_language_version:
python: python3
node: 22.2.0
Expand Down Expand Up @@ -167,6 +167,12 @@ repos:
\.cfg$|\.conf$|\.ini$|\.ldif$|\.properties$|\.readthedocs$|\.service$|\.tf$|Dockerfile.*$
- repo: local
hooks:
- id: check-min-python-version
name: Check minimum Python version
entry: ./scripts/ci/pre_commit/check_min_python_version.py
language: python
additional_dependencies: ['rich>=12.4.4']
require_serial: true
- id: update-common-sql-api-stubs
name: Check and update common.sql API stubs
entry: ./scripts/ci/pre_commit/update_common_sql_api_stubs.py
Expand All @@ -192,6 +198,7 @@ repos:
files: ^.pre-commit-config.yaml$|^scripts/ci/pre_commit/update_build_dependencies.py$
pass_filenames: false
require_serial: true
additional_dependencies: ['rich>=12.4.4']
- id: update-installers
name: Update installers to latest (manual)
entry: ./scripts/ci/pre_commit/update_installers.py
Expand All @@ -218,6 +225,13 @@ repos:
files: ^airflow/models/taskinstance.py$|^airflow/models/taskinstancehistory.py$
pass_filenames: false
require_serial: true
- id: check-deferrable-default
name: Check and fix default value of default_deferrable
language: python
entry: ./scripts/ci/pre_commit/check_deferrable_default.py
pass_filenames: false
additional_dependencies: ["libcst>=1.1.0"]
files: ^airflow/.*/sensors/.*\.py$|^airflow/.*/operators/.*\.py$
- repo: https://github.com/asottile/blacken-docs
rev: 1.18.0
hooks:
Expand Down Expand Up @@ -929,8 +943,8 @@ repos:
name: Lint JSON Schema files with JSON Schema
entry: ./scripts/ci/pre_commit/json_schema.py
args:
- --spec-url
- https://json-schema.org/draft-07/schema
- --spec-file
- scripts/ci/pre_commit/draft7_schema.json
language: python
pass_filenames: true
files: .*\.schema\.json$
Expand Down Expand Up @@ -1134,12 +1148,6 @@ repos:
pass_filenames: true
files: \.py$
exclude: ^airflow/providers|^dev/.*\.py$|^scripts/.*\.py$|^tests/|^\w+_tests/|^docs/.*\.py$|^airflow/utils/helpers.py$|^hatch_build.py$
- id: check-deferrable-default-value
name: Check default value of deferrable attribute
language: python
entry: ./scripts/ci/pre_commit/check_deferrable_default.py
pass_filenames: false
files: ^airflow/.*/sensors/.*\.py$|^airflow/.*/operators/.*\.py$
- id: check-provider-docs-valid
name: Validate provider doc files
entry: ./scripts/ci/pre_commit/check_provider_docs.py
Expand Down
25 changes: 0 additions & 25 deletions 3rd-party-licenses/LICENSE-unicodecsv.txt

This file was deleted.

21 changes: 2 additions & 19 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ ARG AIRFLOW_VERSION="2.9.3"
ARG PYTHON_BASE_IMAGE="python:3.8-slim-bookworm"

ARG AIRFLOW_PIP_VERSION=24.2
ARG AIRFLOW_UV_VERSION=0.2.33
ARG AIRFLOW_UV_VERSION=0.4.1
ARG AIRFLOW_USE_UV="false"
ARG UV_HTTP_TIMEOUT="300"
ARG AIRFLOW_IMAGE_REPOSITORY="https://github.com/apache/airflow"
Expand Down Expand Up @@ -124,11 +124,7 @@ function get_runtime_apt_deps() {
echo
echo "DEBIAN CODENAME: ${debian_version}"
echo
if [[ "${debian_version}" == "bullseye" ]]; then
debian_version_apt_deps="libffi7 libldap-2.4-2 libssl1.1 netcat"
else
debian_version_apt_deps="libffi8 libldap-2.5-0 libssl3 netcat-openbsd"
fi
debian_version_apt_deps="libffi8 libldap-2.5-0 libssl3 netcat-openbsd"
echo
echo "APPLIED INSTALLATION CONFIGURATION FOR DEBIAN VERSION: ${debian_version}"
echo
Expand Down Expand Up @@ -177,19 +173,6 @@ function install_debian_dev_dependencies() {
echo
echo "DEBIAN CODENAME: ${debian_version}"
echo
if [[ "${debian_version}" == "bullseye" ]]; then
echo
echo "Bullseye detected - replacing dependencies in additional dev apt deps"
echo
# Replace dependencies in additional dev apt deps to be compatible with Bullseye
ADDITIONAL_DEV_APT_DEPS=${ADDITIONAL_DEV_APT_DEPS//libgcc-11-dev/libgcc-10-dev}
ADDITIONAL_DEV_APT_DEPS=${ADDITIONAL_DEV_APT_DEPS//netcat-openbsd/netcat}
echo
echo "Replaced bullseye dev apt dependencies"
echo "${ADDITIONAL_DEV_APT_COMMAND}"
echo
fi

# shellcheck disable=SC2086
apt-get install -y --no-install-recommends ${DEV_APT_DEPS} ${ADDITIONAL_DEV_APT_DEPS}
}
Expand Down
Loading