1997 Commits

Author SHA1 Message Date
Jarek Potiuk
9917a04c0c Add mprocs upgrade check to upgrade_important_versions (#58723)
Used the opportunity to refactor and restructure the script to
be much more readable and maintainable.
2025-11-28 18:17:44 +01:00
Wei Lee
048f4ad25a build: upgrade hatch to 1.16.1 (#58800) 2025-11-28 14:19:25 +08:00
Jarek Potiuk
cddbdf86c9 Fix airflow-ctl image generation failing with latest prek version (#58732)
* 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
2025-11-28 03:07:18 +01:00
Amogh Desai
1aa9b7af38 Fix automatic backport workflow race condition (#58705) 2025-11-26 12:57:35 +05:30
Jarek Potiuk
6d36d7b4ff CI: Upgrade important CI environment (#58696) 2025-11-26 01:47:54 +01:00
Jarek Potiuk
189c506e31 Fix task-sdk-integration-tests selective checks (#58683)
When only task-sdk-integration tests are changed, the tests should
run. Currently they don't run because in this case PROD image has
is not build.

This PR fixes the selective checks.
2025-11-25 20:20:23 +01:00
Jed Cunningham
11079b6a59 Drop @dstandish from chart codeowners (#58675) 2025-11-25 10:15:26 -07:00
Jarek Potiuk
60034e10ca Convert check_translation_completeness.py into breeze command (#58637)
The script had no good support for auto-complete and the like and
since everyone now use breeze for some tasks, we also should
have it as a regular breeze command.

Also the sorting order implemented by eslint jsonc natural
sorting was quite a bit different from what you'd expect:

* it sorts character-by-character case-insensitive
* it uses original sorting as tie-breker in case of characters
  case-insensitve order
* handles numbers natuarlly (2<10)
* treats _ as end of word and sort it before everything else
* similarly with end of word - shorter words are before longer
  if they have the same prefix

This PR updates the command and also fixes sorting order and
add unit tests to test vital parts of the translation script.
2025-11-25 00:39:08 +01:00
Amogh Desai
525f07c158 Bump uv to 0.9.11, prek to 0.2.18, ruff to 0.14.6 (#58569) 2025-11-22 00:51:43 +05:30
Amogh Desai
a35c737bef Adding CODEOWNERS for shared libraries (#58517) 2025-11-20 17:08:07 +01:00
Jens Scheffler
42805e1ce5 CI: Upgrade important CI environment (#58455) 2025-11-19 00:49:01 +01:00
Jarek Potiuk
c25e7839b8 CI: Upgrade important CI environment (#58423) 2025-11-18 20:10:51 +01:00
Jarek Potiuk
b7a415e223 Update release notes instructions after 2025-11-14 release (#58410) 2025-11-17 23:30:56 +01:00
Jarek Potiuk
bbc1833595 Fix source link generation for providers (#58367)
After adding -source package with release date to providers release,
we also need to update the source download documentation to link to
the right source tarball.

This PR adds the last missing bits and pieces to do that:

1) Updates information about format of RELEASE_DATE and supported
   (potentially) YYYY_MM_DD_NN format
2) The release date parameter is used and verified at release
   docuemntation preparation time and it's stored in
   "providers/.last_release_date.txt"
3) The relase date of the current release (stored in the commit
   which is used to release providers) is used to produce the
   right links - both in "providers summary" and in individual
   provider's package documntation
2025-11-16 19:21:37 +01:00
Jarek Potiuk
53517b7eec Add cooldown period for dependabot upgrades (#58215)
The cooldown period delays updating dependencies until they are
N-days old. This allows the dependencies to be tried by others
(including security researchers) and get them flagged and
removed in case some security issues are found.
2025-11-16 17:07:23 +01:00
Ephraim Anierobi
95a9db7627 Update main as 3.1.3 has been released (#58341) 2025-11-15 14:00:00 +01:00
Jarek Potiuk
9d62164cef Make it easier and faster to iterate on task-sdk-integration-tests (#58231)
There were a few of things that made task-sdk-tests iteration
a bit unobvious and slower. With this PR, we should be able
to iterate over task-sdk-integration-tests WAY faster and get
more contributors involved in contributing to those.

* It was not clear that prerequisite of running the tests was building
  PROD image for Pyton 3.10. This is now clear in the documentation.

* PROD images can be built in two different modes - from sources
  with --installation-method equal to . or from packages with
  the --installatio-method equal to "apache-airflow". This was
  not clearly communicated during build and it is now printed at
  output

* It was not clear that when you build PROD images from sources,
  you should first compile ui assets, because otehrwise the
  assets are not added as part of the image. With this PR the
  `breeze prod-image build` command checks if the .vite manifest
  is present in the right `dist` folders and will error out,
  suggesting to run `breeze compile-ui-assets` before.

* If the PROD image has not been built before, breeze will propose
  to build it and even do it automatically if the answer is not
  provided within 20 seconds.

* when building PROD images from sources, it is faster to rebuild
  the images with `uv` than with `pip`. the --use-uv parameter now
  defaults to False when building from packages and to True when
  building from sources.

* There was an error in .dockerignore where generated dist files
  were not added to context when PROD image was built from sources.
  This resulted in "permission denied' when such PROD images were used
  to run tests.

* The test compose had fallback of Airflow 3.0.3 which would be
  misleading if it happened. Now, AIRFLOW_IMAGE_NAME is mandatory

* We are now mounting sources of Airflow to inside the image by default
  and skip it in CI. This mounting happens in local environment where PROD
  image is built usually from sources, and it is disabled in CI by using
  --skip-mounting-local-volumes flag. We also do not stop docker compose
  by default when runnig it locally in order to make fast iteration the
  default.

* We pass host operating system when starting the compose, and we only
  change ownership on Linux - this is a long running operation on MacOS
  because mounted filesystem is slow, but it's also not needed on MacOS
  because the file system also maps ownershipt and files created by
  Airflow are created with local user id.

* We pass local user id to containers to make sure that the files
  created on linux are created by the local user (logs and the like).

* We are now detecting whether docker-compose is running and when we run
  with locally mounted sources, we reuse those running containers. When
  we don't mount local sources, we shut-down the compose before running
  to make sure we do not have sources mounted - and we close the compose
  by default when we do not mount local sources.

* When sources are mounted we are only enabling DEV_MODE inside the containers
  so that components are hot-reloading (new feature added in #57741
  last weeks. This way you do not have to restart anything when sources
  are changed and you can re-run the tests when docker compose is running.

* The environment are passsed now via .env file so that you can easily
  reproduce docke compose command locally

* The docker compose files are not copied any more, they are moved directly
  to the top of 'task-sdk-integraiton-tests' and used from there.

* A `--down` flag is added to breeze testing task-sdk-integration-tests
  that tears down running docker compose.

* Additional diagnostics added to show what's going on.

* Handling verbose option from breeze by adding more debugging information

* Updated documentation about the tests to be more comprehensive about
  the options, updated file structure etc.

* Small QOL immprovement - if expected dags are not yet parsed by dag file
  processor, when test starts, getting their status will return 404 "Not
  Found". In such case our tests implemented a short retry scheme with tenacity
2025-11-13 19:00:47 +01:00
Jarek Potiuk
2ec28175ca Add protoc pinning and include it in important versions upgrade (#58244) 2025-11-13 00:26:32 +01:00
Jarek Potiuk
1b1bac8383 CI: Upgrade important CI environment (#58245) 2025-11-13 00:25:09 +01:00
Amogh Desai
4688c68f12 Rename task sdk integration tests folder hierarchy correctly (#58193) 2025-11-12 00:27:46 +05:30
Jarek Potiuk
48937a5348 Group upgrades of python dependencies (#58162)
Rather than having multiple PRs - separately for each dependency
upgrade, we should group the dependency upgrades accross several
distributions into single PRs as much as possible.
2025-11-11 09:11:12 +01:00
Jarek Potiuk
8bfe744fe1 CI: Upgrade important CI environment (#58164) 2025-11-10 22:20:26 +01:00
Jarek Potiuk
f4846a8706 The e2e-tests workflows properly use workflow-name to pass name (#58100)
The workflows used `inputs.name` but the passed input was really
the `workflow-name` one.
2025-11-09 14:28:28 +01:00
Elad Kalif
a4b3efd643 update CODEOWNERS (#58075) 2025-11-08 17:58:11 +02:00
Jarek Potiuk
189e7ecbf8 Add breeze ci upgrade command to automate CI infrastructure upgrade (#57958)
We have some semi-complex set of tools that take care about upgrading
of all our CI infrastructure periodically. While dependabot has a lot of
use, a lot of cases is not handled yet in it - such as upgrading the
charts, important dependencies in our scripts, dockerfiles and so on.

While we already have a set of prek hooks and github Actions that
do a lot there, some of that has to be done periodically outside of
dependabot - this CI wraps a number of those upgrade tools into a
single `ci upgrade` command that can be run locally, generate and
open PR - and can be used in both - main and any of the v*test
branches.

Future improvement areas:

* docker container upgrades for Helm chart and docker compose
* slack notification after such upgrade PR is opened
* more .....
2025-11-06 19:55:49 +01:00
Amogh Desai
9775ae0b72 Bump prek, zizmor, go to fix the CI (#57930) 2025-11-06 11:27:15 +05:30
Ephraim Anierobi
3ba13698e5 Airflow 3.1.2 has been released (#57887) 2025-11-06 10:05:56 +08:00
Jarek Potiuk
bb4f04124a Fix pin-versions prek hook and upgrade hooks (#57857)
We had pin-versions prek-hook implemented in a separate workflow
under the `dev` folder, but it has not been working since workspace
switch because prek workspace only works on sub-folders of where the
.pre-commit-config.yaml file is placed. It was in a separate file
because it needed python 3.11 to run, but it is possible to have
a specific python verison as separate language version in the hook
itself, so we can move it back to the main .pre-commit-config.yaml

This PR:

* moves the pin-version hook to main .pre-commit-config.yaml
* sets python 3.11 as version of python used in the hook independently
  from default python version
* fix github actions and docs to use the hook from the main
  .pre-commit-config.yaml
2025-11-05 23:44:06 +01:00
Jarek Potiuk
7a1631641f Fix start-rc-process command test in CI (#57870) 2025-11-05 16:43:51 +01:00
Gary Hsu
6018768a31 Fix Helm Chart RC Staging Documentation Links (#55677)
* fix Replace Helm Chart RC docs links with staging URLs

Replace production documentation links (airflow.apache.org) with staging links
(airflow.staged.apache.org) for Helm Chart release candidates.
- Add RC version detection (rc, alpha, beta releases)
- Modify prepare-helm-chart-tarball and prepare-helm-chart-package commands
- Implement safe backup/restore for Chart.yaml modifications
- Add --version-suffix option to helm chart package command

* Improve Helm chart RC version handling and testing
- Simplify RC version detection logic
- Add RC version test case to helm-tests.yml workflow
- Update documentation to include --version-suffix parameter usage
2025-11-02 17:42:49 +01:00
Wei Lee
26c93bc52b ci(github-actions): Upgrade uv and ruff versions to fix CI 2025-10-31 11:25:39 +05:30
Guan-Ming (Wesley) Chiu
bd16be870a Add Guan-Ming as ui code owner (#57596) 2025-10-31 10:33:07 +08:00
Jens Scheffler
22e6068fbb Switch Jen's focus in CODEOWNERS (#57580) 2025-10-30 22:53:13 +00:00
Kaxil Naik
be84a27a55 Update main with Airflow 3.1.1 release details (#57392)
Release: https://pypi.org/project/apache-airflow/3.1.1/
2025-10-28 01:30:38 +00:00
Jens Scheffler
94c68c92e1 Upgrade prek to most recent version (#57384) 2025-10-28 01:31:00 +01:00
Jarek Potiuk
941d702c23 Move docker to /mnt for the "Publish docs" workflow (#57371)
When we are publishing docs and building SBOMs the regular disk
space on / is not enough to hold all the necessary images. We need
to move it to /mnt to make it works - /mnt has way more space.
2025-10-27 21:27:54 +01:00
Jens Scheffler
0d66178bde Add dependabot for plugin template as well (#57288) 2025-10-26 11:41:22 +01:00
Jarek Potiuk
4219c573a7 Add better platform diagnostics to see which platform is used (#57284)
We now have same workflow running for both ARM and AMD and we need
a bit better diagnostics printed to distinguish those different
run types.

* Tha name of the workflow is just changed to "Tests"
* There is a job added that should immediately show the platform
  in the left-sidebar of GitHub Actions
* The title containing platform is printed at the top of summary
  - before the constraints summary.
2025-10-26 10:22:37 +01:00
GPK
4f3cf811c1 Fix runner type assignment in selective checks (#57254)
* Fix runner type assignment in selective checks

* Update notification workflow
2025-10-25 19:50:30 +01:00
GPK
0ce2f5c866 CI: Fix workflow name (#57246)
* CI: Fix workflow name

* Update status badges
2025-10-25 17:02:38 +02:00
GPK
cf82ae49a7 Make single workflow to run both AMD and ARM builds (#56887)
* Make single workflow to run both AMD and ARM builds

* Add condition to exclude mysql tests for arm

* Fix mypy issues

* delete arm and amd workflows

* Fix artifact name
2025-10-25 11:28:50 +02:00
Amogh Desai
880c2703c8 Bump prek to 0.2.11 and pip to 25.3 (#57228) 2025-10-25 10:43:45 +02:00
Ankit Chaurasia
8ecca1dfba Resolves the CI failure in the upgrade-important-versions hook. (#57185)
- Update uv from 0.9.4 to 0.9.5
- Update ruff from 0.14.1 to 0.14.2
- Update mypy to 1.18.2
- Update Python to 3.12.12
- Update various other dependencies
2025-10-24 13:25:59 +05:30
Jarek Potiuk
f8f976dffc Remove MySQL client (#57146)
As discussed in https://lists.apache.org/thread/cwfmqbzxsm0gobtpo8kmfr99nfv29c2y
we are temporarily (or not) removing MySQL client support from Airflow
container images in order to stop our CI canary builds from failing.

If consensus or vote will be reached to remove it, we will leave it as
is, if we will find other ways how to keep mysql client support, we
will revert that change and restore MySQL client support.
2025-10-23 14:07:28 +02:00
Christos Bisias
080eed6846 add my username (#57128) 2025-10-23 11:34:59 +02:00
Wei Lee
bca6675862 ci(github): move Guan Ming as Taiwan translation code owner (#57034) 2025-10-22 16:39:33 +08:00
Kan Ouivirach
a244a0166a Add Thai UI translation (#56353)
* Add Thai UI translation

* Update code owners

* Add another translator

* Revise text to sound more polite

* Add missing keys and remove some

* Improve Thai translations for better clarity and understanding

* Add @potiuk as sponsor and @Srabasti to the comment

---------

Co-authored-by: blackbass64 <athibet.pi@gmail.com>
2025-10-21 13:16:42 +02:00
Bugra Ozturk
f46326bd4e Add airflowctl integration tests to CODEOWNERS (#56900) 2025-10-20 19:52:05 +02:00
Bugra Ozturk
80911e8339 Implement integration test for airflowctl with 3.1 (#56124)
* Implement initial integration test for airflowctl with 3.1

* password can be passed without interaction, update integration tests

* Add AIRFLOW_CLI_DEBUG_MODE for enhanced CLI debugging and update integration tests to skip keyring

* Warn user while running each command if debug mode enabled and explicitly state it shouldn't be used unless debugging or integration tests

* Move python-on-whales to devel-common, use shared docker-composer file, update documentation mistakes

* remove shared python-on-whales from airflow-ctl-tests/

Co-authored-by: Jarek Potiuk <jarek@potiuk.com>

* Decouple docker compose logic from test method to pytest_sessionstart in conftest

* Move python_on_whale import to file level

* Reorder dependencies in pyproject.toml for consistency

* Add workspace to main pyproject.toml, remove unused variable, move console to singleton __init__.py

* Add workspace to main pyproject.toml, remove unused variable, move console to singleton __init__.py

---------

Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
2025-10-20 10:44:07 +02:00
Jarek Potiuk
2e78e01248 Properly name the regular/remote leg tests (#56859)
GitHub action uses name derived from the composit workflow not
from running workflow, so we must pass the name of tests down
as input parameter to be able to distinguish the two test types
by name.
2025-10-19 22:38:41 +02:00