* Add Milestone Tag Assistant
* Refactor the set-milestone utils to breeze ci_group
* Improves milestone assignment and adds tests for PR tagging
Refines the logic for auto-assigning GitHub milestones to merged PRs, prioritizing backport labels, version branches, and latest open milestones for main branch merges. Introduces user notification comments when no suitable milestone is found and prompts manual action. Adds comprehensive tests covering milestone detection, assignment, and notification flows to ensure robust behavior and edge case handling.
* Refactor milestone comment generation and improve tests for mention handling
* Add CLI testing fixtures and enhance milestone comment generation in tests
* Fix test scenarios
* Add check to skip setting milestone if already assigned in Breeze
* Remove merging into main logic
* Update Milestone Tag Assistant documentation to clarify triggering conditions and rules for milestone assignment
* Fix mypy error
* Enable dynamic generation of assets for Edge UI Plugin
* Review feedback
* Revert changes in template and other providers pyproject.toml
* Fixes in config
* Exclude __init__.py
* Ensure assets are generated on provider packaging
* Script beautification
* Ensure assets are compiled always
* Fix static checks by lazy loading providers details
* Fix missing dist in pytest
* Fix static check on openapi-spec generation for edge
* build assets via pnpm to prevent static check fails
* build assets via pnpm to prevent static check fails
* Fix hatch to ensure dist is compiled
* Call hatch in the venv of breeze tool
* Call asset generation script directly w/o prek
* Re-add prek dependency during provider build, add prek to GH pipeline
* Review feedback and fixes
* Use empty env for hatch build for providers
* Add prek for constrains generation
The release candidate commands were failing in CI because SVN operations
require credentials and network access to the ASF SVN repository.
This change detects when running in CI (via CI environment variable) and
simulates SVN operations instead of executing them:
- svn checkout: creates empty directory structure
- svn mkdir: uses regular mkdir
- svn add/commit/rm: prints simulation messages
This allows the release candidate workflow to be validated in CI without
requiring SVN access, while preserving full functionality in production.
The run-breeze-integration-tests job in .github/workflows/basic-tests.yml (line 122-125) downloads GPG keys from https://dist.apache.org/repos/dist/release/airflow/KEYS via wget. This network call frequently fails when the Apache SVN infrastructure is under high load, causing the CI step to fail (the || true only covers gpg --import, not wget itself).
The only consumer of these imported GPG keys is one integration test class: TestValidateSignaturesIntegration in dev/breeze/tests/test_airflow_release_validator_integration.py:199-217. This test already handles missing keys gracefully — when gpg --verify fails due to missing public keys, the test asserts that the failure details contain hints about downloading keys, and the test passes either way.
PRs with the pending-response label now go stale after 7 days instead
of 45 days. When the author responds or pushes, the pending-response
and stale labels are automatically removed.
We added structure to these to keep track of the large number of
breaking changes that were coming for Airflow 3. We no longer need any
of this structure or enforcement - we can go back to letting authors/reviewers
steer the content.
When we switched to prek in #54258, we accidentally missed the
`^` after from ref - which turned the basic checks to do checks on
empty set of changes.
* [AIRFLOW-59229] Regenerate Python client during CI upgrade
* [AIRFLOW-59229] add open api cli version upgrage as part of breeze upgrade ci
* [AIRFLOW-59229] update ci workflow with open api generator upgrade variable
* [AIRFLOW-59229] refactor ci upgrade variables for better clarity
Prek 0.2.22 added the new feature that pretty much everyone adds
now after all shei-hulud attacks to get some cooldown period
of upgrades, to give chance for github scanners and "bleeding edge"
users to find out tha there are some malicious modifications.
This PR adds cooldown period to prek auto-upgrade in our CI
for `breeze ci upgrade` method.
We maintain release calendar with release page in Confluence in parallel.
This script (AI generated) verifies if what is in Release page is correctly
reflected in the calendar.
We heve a few release-manager acting people who can publish docs
and build images using GH actions workflows.
The list of this peaple is growing.
Adding Jens and Vinc and making sure that the list is synchronized
for both workflows we have.
* allocating pseudo-terminal inside the python script creating
the images instead of trying to do it by docker compose run
* better diagnostics in case of error (verbosity handling)
* properly allocating console with forcing pesudo-terminal creation
inside the container when --tty command is used with breeze shell
via `enable-tty.yaml`
* upgrading prek + uv to latest versions
* a bit of refactoring how the docker-compose files are referrred to
* Console in the script also uses pseudo-terminal