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

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 9 additions & 4 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
**

# Allow only these directories
!airflow
!airflow-core
!common
!dags
!dev
Expand Down Expand Up @@ -75,19 +75,24 @@
!pyproject.toml
!manifests
!generated

# Reproducible build configuration
!reproducible_build.yaml

# Now - ignore unnecessary files inside allowed directories
# This goes after the allowed directories

# Git version is dynamically generated
airflow/git_version
airflow-core/src/airflow/git_version

# Exclude node/pmpme caches..
**/.pnpm-store
**/node_modules
# Exclude link to docs
airflow/ui/static/docs
airflow-core/src/airflow/ui/static/docs

# Legacy www exclusions (just to exclude things in case you switch to old branches and generate assets)
# THey should not be in airflow-core as "www" never was there.
airflow/www/static/docs
airflow/www/static/dist
airflow/www/node_modules
Expand Down Expand Up @@ -123,7 +128,7 @@ docs/**/_api/**
**/*.egg

# But ensure UI dist files are included
!airflow/ui/dist
!airflow-core/src/airflow/ui/dist
!providers/fab/src/airflow/providers/fab/www/dist

# Exclude temporary vi files
Expand Down
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ Dockerfile.ci @potiuk @ashb
/dev/PROVIDER_PACKAGE_DETAILS.md @eladkal
/dev/README.md @kaxil
/dev/README_RELEASE_*.md @kaxil @pierrejeambrun
/dev/README_RELEASE_PROVIDER_PACKAGES.md @eladkal
/dev/README_RELEASE_PROVIDERS.md @eladkal
ISSUE_TRIAGE_PROCESS.rst @eladkal

# AIP-52 - Setup and Teardown
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/airflow_bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ body:
attributes:
# yamllint disable rule:line-length
value: "
<img src='https://raw.githubusercontent.com/apache/airflow/main/docs/apache-airflow/img/logos/airflow_64x64_emoji_transparent.png' align='left' width='80' height='80'>
<img src='https://raw.githubusercontent.com/apache/airflow/main/airflow-core/docs/img/logos/airflow_64x64_emoji_transparent.png' align='left' width='80' height='80'>
Thank you for finding the time to report the problem!

We really appreciate the community's efforts to improve Airflow.
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/airflow_doc_issue_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ body:
attributes:
# yamllint disable rule:line-length
value: "
<img src='https://raw.githubusercontent.com/apache/airflow/main/docs/apache-airflow/img/logos/airflow_64x64_emoji_transparent.png' align='left' width='80' height='80'>
<img src='https://raw.githubusercontent.com/apache/airflow/main/airflow-core/docs/img/logos/airflow_64x64_emoji_transparent.png' align='left' width='80' height='80'>
Thank you for finding the time to report the problem!

We really appreciate the community's efforts to improve Airflow.
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/airflow_helmchart_bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ body:
attributes:
# yamllint disable rule:line-length
value: "
<img src='https://raw.githubusercontent.com/apache/airflow/main/docs/apache-airflow/img/logos/airflow_64x64_emoji_transparent.png' align='left' width='120' height='120'>
<img src='https://raw.githubusercontent.com/apache/airflow/main/airflow-core/docs/img/logos/airflow_64x64_emoji_transparent.png' align='left' width='120' height='120'>
Thank you for finding the time to report the problem!

We really appreciate the community's efforts to improve Airflow.
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/airflow_providers_bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ body:
attributes:
# yamllint disable rule:line-length
value: "
<img src='https://raw.githubusercontent.com/apache/airflow/main/docs/apache-airflow/img/logos/airflow_64x64_emoji_transparent.png' align='left' width='80' height='80'>
<img src='https://raw.githubusercontent.com/apache/airflow/main/airflow-core/docs/img/logos/airflow_64x64_emoji_transparent.png' align='left' width='80' height='80'>
Thank you for finding the time to report a problem!

We really appreciate the community's efforts to improve Airflow.
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ body:
attributes:
# yamllint disable rule:line-length
value: "
<img src='https://raw.githubusercontent.com/apache/airflow/main/docs/apache-airflow/img/logos/airflow_64x64_emoji_transparent.png' align='left' width='80' height='80'>
<img src='https://raw.githubusercontent.com/apache/airflow/main/airflow-core/docs/img/logos/airflow_64x64_emoji_transparent.png' align='left' width='80' height='80'>
Thank you for finding the time to propose new feature!

We really appreciate the community efforts to improve Airflow.
Expand Down
2 changes: 1 addition & 1 deletion .github/SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ Team and how members of it are chosen can be found in the

### Does CVE in Airflow Providers impact Airflow core package ?

Airflow core package is released separately from provider packages. While Airflow comes with ``constraints``
Airflow core package is released separately from provider distributions. While Airflow comes with ``constraints``
which describe which version of providers have been tested when the version of Airflow was released, the
users of Airflow are advised to install providers independently of Airflow core when they want to apply
security fixes found and released in providers. Therefore, the issues found and fixed in providers do
Expand Down
4 changes: 2 additions & 2 deletions .github/actions/breeze/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ runs:
shell: bash
run: breeze ci free-space
env:
AIRFLOW_SOURCES_ROOT: "${{ github.workspace }}"
AIRFLOW_ROOT_PATH: "${{ github.workspace }}"
- name: "Get Python version"
shell: bash
run: >
Expand All @@ -56,4 +56,4 @@ runs:
shell: bash
run: breeze setup config --no-cheatsheet --no-asciiart
env:
AIRFLOW_SOURCES_ROOT: "${{ github.workspace }}"
AIRFLOW_ROOT_PATH: "${{ github.workspace }}"
109 changes: 54 additions & 55 deletions .github/boring-cyborg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -301,11 +301,11 @@ labelPRBasedOnFilePath:
- providers/zendesk/**

area:API:
- airflow/api/**/*
- airflow/api_fastapi/**/*
- airflow-core/src/airflow/api/**/*
- airflow-core/src/airflow/api_fastapi/**/*
- clients/**/*
- docs/apache-airflow/stable-rest-api-ref.rst
- tests/api_fastapi/**/*
- airflow-core/docs/stable-rest-api-ref.rst
- airflow-core/tests/unit/api_fastapi/**/*

area:dev-tools:
- scripts/**/*
Expand All @@ -331,94 +331,93 @@ labelPRBasedOnFilePath:
- docs/helm-chart/**

area:UI:
- docs/apache-airflow/ui.rst
- airflow/ui/**/*
- airflow-core/docs/ui.rst
- airflow-core/src/airflow/ui/**/*

area:CLI:
- airflow/cli/**/*.py
- tests/cli/**/*.py
- docs/apache-airflow/cli-and-env-variables-ref.rst
- docs/apache-airflow/howto/usage-cli.rst
- airflow-core/src/airflow/cli/**/*.py
- airflow-core/tests/unit/cli/**/*.py
- airflow-core/docs/cli-and-env-variables-ref.rst
- airflow-core/docs/howto/usage-cli.rst

area:Lineage:
- airflow/lineage/**/*
- tests/lineage/**/*
- docs/apache-airflow/administration-and-deployment/lineage.rst
- airflow-core/src/airflow/lineage/**/*
- airflow-core/tests/unit/lineage/**/*
- airflow-core/docs/administration-and-deployment/lineage.rst

area:Logging:
- airflow/utils/log/**/*
- docs/apache-airflow/administration-and-deployment/logging-monitoring/logging-*.rst
- tests/utils/log/**/*
- airflow-core/src/airflow/utils/log/**/*
- airflow-core/docs/administration-and-deployment/logging-monitoring/logging-*.rst
- airflow-core/tests/unit/utils/log/**/*
- providers/**/log/*

area:Plugins:
- airflow/cli/commands/local_commands/plugins_command.py
- airflow/plugins_manager.py
- tests/cli/commands/local_commands/test_plugins_command.py
- tests/plugins/**/*
- docs/apache-airflow/administration-and-deployment/plugins.rst
- airflow-core/src/airflow/cli/commands/local_commands/plugins_command.py
- airflow-core/src/airflow/plugins_manager.py
- airflow-core/tests/unit/cli/commands/local_commands/test_plugins_command.py
- airflow-core/tests/unit/plugins/**/*
- airflow-core/docs/administration-and-deployment/plugins.rst

area:Scheduler:
- airflow/jobs/scheduler_job_runner.py
- docs/apache-airflow/administration-and-deployment/scheduler.rst
- tests/jobs/test_scheduler_job.py
- airflow-core/src/airflow/jobs/scheduler_job_runner.py
- airflow-core/docs/administration-and-deployment/scheduler.rst
- airflow-core/tests/unit/jobs/test_scheduler_job.py

area:DAG-processing:
- airflow/dag_processing/**/*
- airflow/jobs/dag_processor_job_runner.py
- docs/apache-airflow/administration-and-deployment/dagfile-processing.rst
- tests/dag_processing/**/*
- airflow-core/src/airflow/dag_processing/**/*
- airflow-core/src/airflow/jobs/dag_processor_job_runner.py
- airflow-core/docs/administration-and-deployment/dagfile-processing.rst
- airflow-core/tests/unit/dag_processing/**/*

area:Executors-core:
- airflow/executors/**/*
- docs/apache-airflow/core-concepts/executor/**/*
- tests/executors/**/*
- airflow-core/src/airflow/executors/**/*
- airflow-core/docs/core-concepts/executor/**/*
- airflow-core/tests/unit/executors/**/*

area:Secrets:
- airflow/secrets/**/*
- tests/secrets/**/*
- airflow-core/src/airflow/secrets/**/*
- airflow-core/tests/unit/secrets/**/*
- providers/**/secrets/*
- docs/apache-airflow/security/secrets/**/*
- airflow-core/docs/security/secrets/**/*

area:Triggerer:
- airflow/cli/commands/local_commands/triggerer_command.py
- airflow/jobs/triggerer_job_runner.py
- airflow/models/trigger.py
- airflow-core/src/airflow/cli/commands/local_commands/triggerer_command.py
- airflow-core/src/airflow/jobs/triggerer_job_runner.py
- airflow-core/src/airflow/models/trigger.py
- providers/standard/src/airflow/providers/standard/triggers/**/*
- tests/cli/commands/local_commands/test_triggerer_command.py
- tests/jobs/test_triggerer_job.py
- tests/models/test_trigger.py
- airflow-core/tests/unit/cli/commands/local_commands/test_triggerer_command.py
- airflow-core/tests/unit/jobs/test_triggerer_job.py
- airflow-core/tests/unit/models/test_trigger.py
- providers/standard/tests/unit/standard/triggers/**/*

area:Serialization:
- airflow/serialization/**/*
- airflow/models/serialized_dag.py
- tests/serialization/**/*
- tests/models/test_serialized_dag.py
- docs/apache-airflow/administration-and-deployment/dag-serialization.rst
- airflow-core/src/airflow/serialization/**/*
- airflow-core/src/airflow/models/serialized_dag.py
- airflow-core/tests/unit/serialization/**/*
- airflow-core/tests/unit/models/test_serialized_dag.py
- airflow-core/docs/administration-and-deployment/dag-serialization.rst

area:core-operators:
- airflow/operators/**/*
- airflow/hooks/**/*
- airflow/sensors/**/*
- tests/hooks/**/*
- tests/sensors/**/*
- docs/apache-airflow/operators-and-hooks-ref.rst
- docs/apache-airflow/howto/operator/*
- airflow-core/src/airflow/hooks/**/*
- airflow-core/src/airflow/sensors/**/*
- airflow-core/tests/unit/hooks/**/*
- airflow-core/tests/unit/sensors/**/*
- airflow-core/docs/operators-and-hooks-ref.rst
- airflow-core/docs/howto/operator/*

area:production-image:
- Dockerfile
- docs/docker-stack/**/*
- docker_tests/**/*

area:system-tests:
- tests/system/**/*
- airflow-core/tests/system/**/*

area:task-sdk:
- task-sdk/**/*

area:db-migrations:
- airflow/migrations/versions/*
- airflow-core/src/airflow/migrations/versions/*

area:providers:
- providers/**/*
Expand All @@ -445,7 +444,7 @@ firstPRWelcomeComment: >

- In case of a new feature add useful documentation (in docstrings or in `docs/` directory).
Adding a new operator? Check this short
[guide](https://github.com/apache/airflow/blob/main/docs/apache-airflow/howto/custom-operator.rst)
[guide](https://github.com/apache/airflow/blob/main/airflow-core/docs/howto/custom-operator.rst)
Consider adding an example DAG that shows how users should use it.

- Consider using [Breeze environment](https://github.com/apache/airflow/blob/main/dev/breeze/doc/README.rst)
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/additional-ci-image-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ jobs:
# changes or in case of Dockerfile changes. Failure in this step is not a problem (at most it will
# delay cache refresh. It does not attempt to upgrade to newer dependencies.
# We only push CI cache as PROD cache usually does not gain as much from fresh cache because
# it uses prepared airflow and provider packages that invalidate the cache anyway most of the time
# it uses prepared airflow and provider distributions that invalidate the cache anyway most of the time
push-early-buildx-cache-to-github-registry:
name: Push Early Image Cache
uses: ./.github/workflows/push-image-cache.yml
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/additional-prod-image-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ on: # yamllint disable-line rule:truthy
required: true
type: string
chicken-egg-providers:
description: "Whether to build chicken-egg provider packages in the same run (true/false)"
description: "Whether to build chicken-egg provider distributions in the same run (true/false)"
required: true
type: string
docker-cache:
Expand Down Expand Up @@ -72,7 +72,7 @@ jobs:
default-python-version: ${{ inputs.default-python-version }}
branch: ${{ inputs.default-branch }}
use-uv: "false"
build-provider-packages: ${{ inputs.default-branch == 'main' }}
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 }}
Expand All @@ -89,7 +89,7 @@ jobs:
default-python-version: ${{ inputs.default-python-version }}
branch: ${{ inputs.default-branch }}
use-uv: "false"
build-provider-packages: ${{ inputs.default-branch == 'main' }}
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 }}
Expand Down
21 changes: 11 additions & 10 deletions .github/workflows/basic-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,41 +109,42 @@ jobs:
with:
node-version: 21
cache: 'pnpm'
cache-dependency-path: 'airflow/**/pnpm-lock.yaml'
cache-dependency-path: 'airflow-core/src/airflow/**/pnpm-lock.yaml'
- name: "Restore eslint cache (ui)"
uses: apache/infrastructure-actions/stash/restore@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
with:
path: airflow/ui/node_modules/
key: cache-ui-node-modules-v1-${{ runner.os }}-${{ hashFiles('airflow/ui/**/pnpm-lock.yaml') }}
path: airflow-core/src/airflow/ui/node_modules/
# yamllint disable-line rule:line-length
key: cache-ui-node-modules-v1-${{ runner.os }}-${{ hashFiles('airflow-core/src/airflow/ui/**/pnpm-lock.yaml') }}
id: restore-eslint-cache-ui
- run: cd airflow/ui && pnpm install --frozen-lockfile
- run: cd airflow/ui && pnpm test
- run: cd airflow-core/src/airflow/ui && pnpm install --frozen-lockfile
- run: cd airflow-core/src/airflow/ui && pnpm test
env:
FORCE_COLOR: 2
- name: "Save eslint cache (ui)"
uses: apache/infrastructure-actions/stash/save@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
with:
path: airflow/ui/node_modules/
path: airflow-core/src/airflow/ui/node_modules/
key: cache-ui-node-modules-v1-${{ runner.os }}-${{ hashFiles('airflow/ui/**/pnpm-lock.yaml') }}
if-no-files-found: 'error'
retention-days: '2'
if: steps.restore-eslint-cache-ui.outputs.stash-hit != 'true'
- name: "Restore eslint cache (simple auth manager UI)"
uses: apache/infrastructure-actions/stash/restore@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
with:
path: airflow/api_fastapi/auth/managers/simple/ui/node_modules/
path: airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/node_modules/
key: >
cache-simple-am-ui-node-modules-v1-
${{ runner.os }}-${{ hashFiles('airflow/api_fastapi/auth/managers/simple/ui/**/pnpm-lock.yaml') }}
id: restore-eslint-cache-simple-am-ui
- run: cd airflow/api_fastapi/auth/managers/simple/ui && pnpm install --frozen-lockfile
- run: cd airflow/api_fastapi/auth/managers/simple/ui && pnpm test
- run: cd airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui && pnpm install --frozen-lockfile
- run: cd airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui && pnpm test
env:
FORCE_COLOR: 2
- name: "Save eslint cache (ui)"
uses: apache/infrastructure-actions/stash/save@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
with:
path: airflow/api_fastapi/auth/managers/simple/ui/node_modules/
path: airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/node_modules/
key: >
cache-simple-am-ui-node-modules-v1-
${{ runner.os }}-${{ hashFiles('airflow/api_fastapi/auth/managers/simple/ui/**/pnpm-lock.yaml') }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-image-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -431,7 +431,7 @@ jobs:
use-uv: ${{ inputs.use-uv }}
- name: "Generate airflow python client"
run: >
breeze release-management prepare-python-client --package-format both
breeze release-management prepare-python-client --distribution-format both
--version-suffix-for-pypi dev0 --python-client-repo ./airflow-client-python
- name: "Show diff"
run: git diff --color HEAD
Expand Down
Loading
Loading