Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
d10509a
[v3-0-test] docs: Guide for resolving UI TemplateNotFound in Breeze s…
github-actions[bot] Aug 15, 2025
3b5b4a8
[v3-0-test] CHG: refer fix (#54490) (#54535)
potiuk Aug 15, 2025
cdbd13d
[v3-0-test] Bump zizmor (#54538) (#54541)
github-actions[bot] Aug 15, 2025
072b259
[v3-0-test] Update 11_documentation_building.rst (#54557) (#54566)
github-actions[bot] Aug 15, 2025
cf5d047
[v3-0-test] Log when triggerer has reached the maximum trigger capaci…
github-actions[bot] Aug 16, 2025
f7673ac
Switch pre-commit to prek (#54258) (#54585)
potiuk Aug 17, 2025
73bbd23
Upgrade prek to 0.27.0 (#54584) (#54589)
potiuk Aug 17, 2025
3538ed8
[v3-0-test] Fix prek teething errors for canary builds (#54583) (#54590)
potiuk Aug 17, 2025
cee93e3
Change upgrading scheme for prek and bump to latest version (#54599) …
potiuk Aug 18, 2025
bd6ace5
[v3-0-test] Improve upgrade important version hook: (#54606) (#54608)
github-actions[bot] Aug 18, 2025
78a981a
[v3-0-test] Exclude dag.fileloc from determining dag version (#54477)…
github-actions[bot] Aug 18, 2025
17d7b60
Switch to the triggered dagrun on manual trigger. (#54336)
tirkarthi Aug 12, 2025
8a45471
[v3-0-test] Upgrade to prek 0.0.29 (#54621) (#54624)
potiuk Aug 18, 2025
9da7769
[v3-0-test] Fix task_queued_timeout not working after first DAG run (…
github-actions[bot] Aug 18, 2025
a946ee8
Cleanup gunicorn_config module (#53123) (#54625)
kaxil Aug 18, 2025
b28d3a6
[v3-0-test] Skip more span-related DB queries in the scheduler when t…
github-actions[bot] Aug 18, 2025
59cdedd
Manually backport 54462: Filter out empty logs (#54628)
bbovenzi Aug 18, 2025
a630ac7
Remove black usage in prek hooks (#54656) (#54664)
Lee-W Aug 19, 2025
e916a27
Add option to choose branch in workflow breeze commands (#54630) (#54…
gopidesupavan Aug 19, 2025
8128d16
[v3-0-test] Remove Kerberos replay cache (`KRB5CCNAME` env) when a ta…
github-actions[bot] Aug 19, 2025
f367a72
[v3-0-test] add filepath (#54661) (#54687)
github-actions[bot] Aug 19, 2025
22d9bc7
[v3-0-test] Fix `external_executor_id` name in log message (#54675) (…
github-actions[bot] Aug 19, 2025
1ce02db
[v3-0-test] Fix remote logging connection availability in Task SDK su…
github-actions[bot] Aug 20, 2025
5e16717
[v3-0-test] Add dependabot checks for v3-0-test branch (#54719) (#54725)
github-actions[bot] Aug 20, 2025
560e85c
[v3-0-test] Fix module loading in logging config (#54555) (#54686)
github-actions[bot] Aug 20, 2025
bc01259
[v3-0-test] Make cache for prek dependent on platform (#54655) (#54729)
potiuk Aug 20, 2025
85bc0c5
[v3-0-test] Fix flaky timeout test by using relative start_time calcu…
amoghrajesh Aug 20, 2025
32de80e
[v3-0-test] Bump axios from 1.8.0 to 1.11.0 in /airflow-core/src/airf…
pierrejeambrun Aug 20, 2025
ff49c20
Upgrade axios for simple auth manager
pierrejeambrun Aug 20, 2025
34d92d5
[v3-0-test] Upgrade prek, prek hooks, breeze lock and other important…
potiuk Aug 20, 2025
88866b4
Fix conditionals for test types and make them consistent (#54678) (#5…
potiuk Aug 20, 2025
7daec28
Bump openlineage-airflow from 1.31.0 to 1.37.0 (#54727)
dependabot[bot] Aug 20, 2025
5bb83d0
Bump trove-classifiers from 2025.5.9.12 to 2025.8.6.13 in /airflow-co…
dependabot[bot] Aug 20, 2025
e280c97
Bump apache-airflow from 2.10.5 to 3.0.4 (#54735)
dependabot[bot] Aug 20, 2025
e920670
Bump pluggy from 1.5.0 to 1.6.0 (#54728)
dependabot[bot] Aug 20, 2025
71a9fab
Bump pluggy from 1.5.0 to 1.6.0 in /airflow-core (#54730)
dependabot[bot] Aug 20, 2025
2dd1739
Bump trove-classifiers from 2025.5.9.12 to 2025.8.6.13 (#54732)
dependabot[bot] Aug 20, 2025
9076e01
[v3-0-test] Ensure that Connection extra can get masked without causi…
github-actions[bot] Aug 21, 2025
5723204
[v3-0-test] Fix AF3 TriggerDagRunLink to handle combinations of base_…
github-actions[bot] Aug 21, 2025
224c3c2
[v3-0-test] `get_parsing_context` is no longer experimental (#54793) …
github-actions[bot] Aug 21, 2025
9c01e1b
[v3-0-test] fix: removed the condition because of which it is not mov…
github-actions[bot] Aug 22, 2025
0633e76
[v3-0-test] Correct Trigger-Form UI Docs for current Airflow 3 featur…
github-actions[bot] Aug 22, 2025
a1ed149
Bump Airflow to 3.0.6 and Task SDK to 1.0.6
kaxil Aug 21, 2025
6ddd737
Add Release notes for Airflow 3.0.6 and Task SDK 1.0.6
kaxil Aug 22, 2025
cc2155f
Fix old release notes entry about pre-commit (#54819)
jedcunningham Aug 22, 2025
220a7a4
Fix MySQL UUID generation in task_instance migration (#54814)
kaxil Aug 22, 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
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/.pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
default_stages: [manual]
default_language_version:
python: python311
minimum_pre_commit_version: '3.2.0'
minimum_prek_version: '0.0.26'
repos:
- repo: https://github.com/eclipse-csi/octopin
rev: 21360742e352e87450f99e180fdfc2cf774a72a3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,38 +16,36 @@
# under the License.
#
---
name: 'Install pre-commit'
description: 'Installs pre-commit and related packages'
name: 'Install prek'
description: 'Installs prek and related packages'
inputs:
python-version:
description: 'Python version to use'
default: "3.9"
uv-version:
description: 'uv version to use'
default: "0.8.8" # Keep this comment to allow automatic replacement of uv version
pre-commit-version:
description: 'pre-commit version to use'
default: "4.3.0" # Keep this comment to allow automatic replacement of pre-commit version
pre-commit-uv-version:
description: 'pre-commit-uv version to use'
default: "4.1.4" # Keep this comment to allow automatic replacement of pre-commit-uv version
skip-pre-commits:
description: "Skip some pre-commits from installation"
default: "0.8.12" # Keep this comment to allow automatic replacement of uv version
prek-version:
description: 'prek version to use'
default: "0.1.1" # Keep this comment to allow automatic replacement of prek version
skip-prek-hooks:
description: "Skip some prek hooks from installation"
default: ""
platform:
description: 'Platform for the build - linux/amd64 or linux/arm64'
required: true
runs:
using: "composite"
steps:
- name: Install pre-commit, uv, and pre-commit-uv
- name: Install prek and uv
shell: bash
env:
UV_VERSION: ${{inputs.uv-version}}
PRE_COMMIT_VERSION: ${{inputs.pre-commit-version}}
PRE_COMMIT_UV_VERSION: ${{inputs.pre-commit-uv-version}}
SKIP: ${{ inputs.skip-pre-commits }}
PREK_VERSION: ${{inputs.prek-version}}
SKIP: ${{ inputs.skip-prek-hooks }}
run: |
pip install uv==${UV_VERSION} || true
uv tool install pre-commit==${PRE_COMMIT_VERSION} --with uv==${UV_VERSION} \
--with pre-commit-uv==${PRE_COMMIT_UV_VERSION}
uv tool install prek==${PREK_VERSION} --with uv==${UV_VERSION}
working-directory: ${{ github.workspace }}
# We need to use tar file with archive to restore all the permissions and symlinks
- name: "Delete ~.cache"
Expand All @@ -59,36 +57,37 @@ runs:
rm -rf ~/.cache
echo
shell: bash
- name: "Restore pre-commit cache"
- name: "Restore prek cache"
uses: apache/infrastructure-actions/stash/restore@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
with:
key: cache-pre-commit-v4-${{ inputs.python-version }}-${{ hashFiles('.pre-commit-config.yaml') }}
# yamllint disable rule:line-length
key: cache-prek-v6-${{ inputs.platform }}-${{ inputs.python-version }}-${{ hashFiles('.pre-commit-config.yaml') }}
path: /tmp/
id: restore-pre-commit-cache
- name: "Check if pre-commit cache tarball exists"
id: restore-prek-cache
- name: "Check if prek 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"
if [ -f /tmp/cache-prek.tar.gz ]; then
echo "✅ Cache tarball found: /tmp/cache-prek.tar.gz"
else
echo "❌ Cache tarball missing. Expected /tmp/cache-pre-commit.tar.gz"
echo "❌ Cache tarball missing. Expected /tmp/cache-prek.tar.gz"
exit 1
fi
if: steps.restore-pre-commit-cache.outputs.stash-hit == 'true'
if: steps.restore-prek-cache.outputs.stash-hit == 'true'
- name: "Restore .cache from the tar file"
run: tar -C ~ -xzf /tmp/cache-pre-commit.tar.gz
run: tar -C ~ -xzf /tmp/cache-prek.tar.gz
shell: bash
if: steps.restore-pre-commit-cache.outputs.stash-hit == 'true'
if: steps.restore-prek-cache.outputs.stash-hit == 'true'
- name: "Show restored files"
run: |
echo "Restored files"
du ~/ --max-depth=2
echo
shell: bash
if: steps.restore-pre-commit-cache.outputs.stash-hit == 'true'
- name: Install pre-commit hooks
if: steps.restore-prek-cache.outputs.stash-hit == 'true'
- name: Install prek hooks
shell: bash
run: pre-commit install-hooks || (cat ~/.cache/pre-commit/pre-commit.log && exit 1)
run: prek install-hooks || (cat ~/.cache/prek/prek.log && exit 1)
working-directory: ${{ github.workspace }}
env:
SKIP: ${{ inputs.skip-pre-commits }}
SKIP: ${{ inputs.skip-prek-hooks }}
4 changes: 2 additions & 2 deletions .github/boring-cyborg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -479,8 +479,8 @@ firstPRWelcomeComment: >

Here are some useful points:

- Pay attention to the quality of your code (ruff, mypy and type annotations). Our [pre-commits](
https://github.com/apache/airflow/blob/main/contributing-docs/08_static_code_checks.rst#prerequisites-for-pre-commit-hooks)
- Pay attention to the quality of your code (ruff, mypy and type annotations). Our [prek-hooks](
https://github.com/apache/airflow/blob/main/contributing-docs/08_static_code_checks.rst#prerequisites-for-prek-hooks)
will help you with that.

- In case of a new feature add useful documentation (in docstrings or in `docs/` directory).
Expand Down
27 changes: 27 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,33 @@ updates:
patterns:
- "*"

# Repeat dependency updates on v3-0-test branch as well
- package-ecosystem: pip
directories:
- /airflow-core
- /airflow-ctl
- /clients/python
- /dev/breeze
- /docker-tests
- /kubernetes-tests
- /helm-tests
- /task-sdk
- /
schedule:
interval: daily
target-branch: v3-0-test

- package-ecosystem: npm
directories:
- /airflow-core/src/airflow/ui
schedule:
interval: daily
target-branch: v3-0-test
groups:
core-ui-package-updates:
patterns:
- "*"

# Repeat dependency updates on 2.11 branch as well
- package-ecosystem: pip
directories:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/additional-ci-image-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ on: # yamllint disable-line rule:truthy
description: "Whether to upgrade to newer dependencies (true/false)"
required: true
type: string
skip-pre-commits:
description: "Whether to skip pre-commits (true/false)"
skip-prek-hooks:
description: "Whether to skip prek hooks (true/false)"
required: true
type: string
docker-cache:
Expand Down
88 changes: 44 additions & 44 deletions .github/workflows/basic-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,16 @@ on: # yamllint disable-line rule:truthy
description: "Whether to run WWW tests (true/false)"
required: true
type: string
needs-api-codegen:
run-api-codegen:
description: "Whether to run API codegen (true/false)"
required: true
type: string
basic-checks-only:
description: "Whether to run only basic checks (true/false)"
required: true
type: string
skip-pre-commits:
description: "Whether to skip pre-commits (true/false)"
skip-prek-hooks:
description: "Whether to skip prek hooks (true/false)"
required: true
type: string
default-python-version:
Expand All @@ -60,6 +60,10 @@ on: # yamllint disable-line rule:truthy
description: "Whether to use uv in the image"
required: true
type: string
platform:
description: 'Platform for the build - linux/amd64 or linux/arm64'
required: true
type: string
permissions:
contents: read
jobs:
Expand Down Expand Up @@ -150,13 +154,13 @@ jobs:
retention-days: '2'
if: steps.restore-eslint-cache-simple-am-ui.outputs.stash-hit != 'true'

install-pre-commit:
install-prek:
timeout-minutes: 5
name: "Install pre-commit for cache"
name: "Install prek for cache"
runs-on: ${{ fromJSON(inputs.runners) }}
env:
PYTHON_MAJOR_MINOR_VERSION: "${{ inputs.default-python-version }}"
SKIP: ${{ inputs.skip-pre-commits }}
SKIP: ${{ inputs.skip-prek-hooks }}
steps:
- name: "Cleanup repo"
shell: bash
Expand All @@ -168,21 +172,22 @@ jobs:
- name: "Install Breeze"
uses: ./.github/actions/breeze
id: breeze
- name: "Install pre-commit"
uses: ./.github/actions/install-pre-commit
id: pre-commit
- name: "Install prek"
uses: ./.github/actions/install-prek
id: prek
with:
python-version: ${{steps.breeze.outputs.host-python-version}}
skip-pre-commits: ${{ inputs.skip-pre-commits }}
skip-prek-hooks: ${{ inputs.skip-prek-hooks }}
platform: ${{ inputs.platform }}

# Those checks are run if no image needs to be built for checks. This is for simple changes that
# Do not touch any of the python code or any of the important files that might require building
# The CI Docker image and they can be run entirely using the pre-commit virtual environments on host
# The CI Docker image and they can be run entirely using the prek virtual environments on host
static-checks-basic-checks-only:
timeout-minutes: 30
name: "Static checks: basic checks only"
runs-on: ${{ fromJSON(inputs.runners) }}
needs: install-pre-commit
needs: install-prek
if: inputs.basic-checks-only == 'true'
steps:
- name: "Cleanup repo"
Expand All @@ -197,12 +202,13 @@ jobs:
- name: "Install Breeze"
uses: ./.github/actions/breeze
id: breeze
- name: "Install pre-commit"
uses: ./.github/actions/install-pre-commit
id: pre-commit
- name: "Install prek"
uses: ./.github/actions/install-prek
id: prek
with:
python-version: ${{ steps.breeze.outputs.host-python-version }}
skip-pre-commits: ${{ inputs.skip-pre-commits }}
skip-prek-hooks: ${{ inputs.skip-prek-hooks }}
platform: ${{ inputs.platform }}
- name: Fetch incoming commit ${{ github.sha }} with its parent
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
Expand All @@ -211,12 +217,12 @@ jobs:
persist-credentials: false
- name: "Static checks: basic checks only"
run: >
breeze static-checks --show-diff-on-failure --color always --initialize-environment
--skip-image-upgrade-check --commit-ref "${{ github.sha }}"
prek --show-diff-on-failure --color always
--from-ref "${{ github.sha }}" --to-ref "${{ github.sha }}"
env:
VERBOSE: "false"
SKIP_BREEZE_PRE_COMMITS: "true"
SKIP: ${{ inputs.skip-pre-commits }}
SKIP_BREEZE_PREK_HOOKS: "true"
SKIP: ${{ inputs.skip-prek-hooks }}
COLUMNS: "202"

test-git-clone-on-windows:
Expand All @@ -234,7 +240,7 @@ jobs:
timeout-minutes: 45
name: "Upgrade checks"
runs-on: ${{ fromJSON(inputs.runners) }}
needs: install-pre-commit
needs: install-prek
env:
PYTHON_MAJOR_MINOR_VERSION: "${{ inputs.default-python-version }}"
if: inputs.canary-run == 'true'
Expand All @@ -251,28 +257,22 @@ jobs:
- name: "Install Breeze"
uses: ./.github/actions/breeze
id: breeze
- name: "Install pre-commit"
uses: ./.github/actions/install-pre-commit
id: pre-commit
- name: "Install prek"
uses: ./.github/actions/install-prek
id: prek
with:
python-version: ${{steps.breeze.outputs.host-python-version}}
skip-pre-commits: ${{ inputs.skip-pre-commits }}
- name: "Autoupdate all pre-commits"
run: pre-commit autoupdate --freeze
- 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
skip-prek-hooks: ${{ inputs.skip-prek-hooks }}
platform: ${{ inputs.platform }}
- name: "Autoupdate all prek hooks"
run: prek autoupdate --freeze
- name: "Autoupdate Lucas-C hooks to bleeding edge"
run: prek autoupdate --bleeding-edge --freeze --repo https://github.com/Lucas-C/pre-commit-hooks
- name: "Check if there are any changes in pre-commit hooks"
run: git diff --exit-code
- name: "Run automated upgrade for black"
run: >
pre-commit run
--all-files --show-diff-on-failure --color always --verbose
--hook-stage manual
update-black-version
if: always()
- name: "Run automated upgrade for chart dependencies"
run: >
pre-commit run
prek
--all-files --show-diff-on-failure --color always --verbose
--hook-stage manual
update-chart-dependencies
Expand All @@ -282,30 +282,30 @@ jobs:
# get notified about it - until it stabilizes in 1.* version
- name: "Run automated upgrade for uv (not failing - just informational)"
run: >
pre-commit run
prek
--all-files --show-diff-on-failure --color always --verbose
--hook-stage manual update-installers-and-pre-commit || true
--hook-stage manual upgrade-important-versions || true
if: always()
env:
UPGRADE_UV: "true"
UPGRADE_PYTHON: "false"
UPGRADE_GOLANG: "true"
UPGRADE_PIP: "false"
UPGRADE_PRE_COMMIT: "false"
UPGRADE_PREK: "true"
UPGRADE_NODE_LTS: "false"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Run automated upgrade for pip, pre-commit and node (failing if needed)"
- name: "Run automated upgrade for important versions minus uv(failing if needed)"
run: >
pre-commit run
prek
--all-files --show-diff-on-failure --color always --verbose
--hook-stage manual update-installers-and-pre-commit
--hook-stage manual upgrade-important-versions
if: always()
env:
UPGRADE_UV: "false"
UPGRADE_PYTHON: "true"
UPGRADE_GOLANG: "false"
UPGRADE_PIP: "true"
UPGRADE_PRE_COMMIT: "true"
UPGRADE_PREK: "false"
UPGRADE_NODE_LTS: "true"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down
Loading
Loading