26 Commits

Author SHA1 Message Date
Brent Bovenzi
d614dc73b4 Weekly updates, add more groups (#63219) 2026-03-09 20:56:19 +00:00
Jarek Potiuk
08877d803f Group dependabot action updates (#63143) 2026-03-08 21:35:23 +01:00
Jens Scheffler
e56d81ca32 Add new Provider Registry to dependabot (#63118) 2026-03-08 16:33:51 +01:00
Jarek Potiuk
9066c87756 Add cooldown and support for other branches for actions dependabot (#63078) 2026-03-08 07:19:27 +01:00
Jarek Potiuk
863d6e03c2 Replace octopin with Dependabot to upgrade actions (#63039)
Eclipse's octopin has been archived in Feb and will not get any
more updates https://github.com/eclipse-csi/octopin.

Dependabot should be good enough to do the updates for us.
2026-03-07 21:56:45 +01:00
Brent Bovenzi
a2e3613cd0 Split npm dependabot minor+patch and major version PRs (#62889)
* Ignore major npm dependabot upgrades

* Move major versions to different group
2026-03-06 12:54:55 -05:00
Vincent
c006e74bac Only upgrade patch and minor NPM version in v3-1-test (#62961) 2026-03-05 18:40:14 -05:00
Vincent
7a8a1c3cb8 Enable dependabot for simple auth manager in v3-1-test (#62951) 2026-03-05 19:45:43 +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
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
Jens Scheffler
0d66178bde Add dependabot for plugin template as well (#57288) 2025-10-26 11:41:22 +01:00
Jarek Potiuk
134af4f382 Replace custom breeze upgrade check with uv tool upgrade (#56844)
Before uv we had to use our own mechanism of checking versions of
packages installed for breeze in order to perform self upgrade, with
uv tool, we do not have to do it any more.

This is a step towards complete uv.lock support as well. Removing custom
code means that we can use dependabot to perform uv.lock upgrades
without dependabot failing on conflicting hashes. It also avoids
conflicts when people are adding new dependencies to breeze.
2025-10-19 15:18:27 +02:00
Elad Kalif
b13605a243 switch dependabot from v3-0-test to v3-1-test (#55600) 2025-09-12 22:30:28 -04:00
Jens Scheffler
34fab8c67a Fix dependabot groups for Edge React UI (#55393) 2025-09-08 23:24:25 +02:00
Jens Scheffler
dec508c531 Provide React UI for Edge (#53563)
* Provide React UI for Edge

* Fix static checks

* Have dist file out of gitignore until we have a proper way of build on demand

* Have dist file out of gitignore until we have a proper way of build on demand

* Add mime-type mapping

* Add icon to edge UI

* Add dockerignore to fix tests

* Add correct icon to edge plugin menu entries

* ups, re-add from main

* Fix merge conflict from prek migration

* Add first two empty pages and navigation

* Layout nit to align to dags view

* Create start of DataTable for worker display

* Upgrade dependencies

* Also add dependabot for edge UI

* Add API Specs generation to prepare service binding code generation

* Create API service stubs

* Implement first table accessor for worker list

* Fix hashing and exclude pnpm store

* Fix pytests

* Remove yarn.lock

* Fix problems in pytests with back-compat and db access

* Enable debug mode in vite with real Airflow backend for standalone testing via pnpm dev

* Disable sorting

* Uuups, remove debug print

* Implement authentication for endpoint and fallback ugly HTML table

* Remove clone of DataTable which seems not working

* Switch to Chakra Table

* Chakra Table additions

* Add Jobs page and services

* Ensure codegen is always executed in prek
2025-09-03 09:58:16 +02:00
Jarek Potiuk
bd5f86ad38 Add dependabot checks for v3-0-test branch (#54719) 2025-08-20 13:35:33 +02:00
Elad Kalif
af06798ccc Replace 2.10 to 2.11 branch with dependabot (#50696) 2025-05-16 23:59:16 +05:30
Vincent
a4646fbdbf Separate out Airflow UI and SAM UI directory in dependabot config (#49872) 2025-05-01 12:14:47 +02:00
Jarek Potiuk
d4473555c0 Simplify tooling by switching completely to uv (#48223)
The lazy consensus decision has been made at the devlist to switch
entirely to `uv` as development tool:

link: https://lists.apache.org/thread/6xxdon9lmjx3xh8zw09xc5k9jxb2n256

This PR implements that decision and removes a lot of baggage connected
to using `pip` additionally to uv to install and sync the environment.
It also introduces more consistency in the way how distribution
packages are used in airflow sources - basicaly switching all internal
distributions to use `pyproject.toml` approach and linking them all
together via `uv`'s workspace feature.

This enables much more streamlined development workflows, where any
part of airflow development is manageable using `uv sync` in the right
distribution - opening the way to moving more of the "sub-worfklows"
from the CI image to local virtualenv environment.

Unfortunately, such change cannot be done incrementally, really, because
any change in the project layout drags with itself a lot of changes
in the test/CI/management scripts, so we have to implement one big
PR covering the move.

This PR is "safe" in terms of the airflow and provider's code - it
does not **really** (except occasional imports and type hint changes
resulting from better isolation of packages) change Airflow code nor
it should not affect any airflow or provider code, because it does
not move any of the folder where airflow or provider's code is modified.

It does move the test code - in a number of "auxiliary" distributions
we have. It also moves the `docs` generation code to `devel-common`
and introduces separate conf.py files for every doc package.

What is still NOT done after that move and will be covered in the
follow-up changes:

* isolating docs-building to have separate configuraiton for docs
  building per distribution - allowing to run doc build locally
  with it's own conf.py file

* moving some of the tests and checks out from breeze container
  image up to the local environment (for example mypy checks) and
  likely isolating them per-provider

* Constraints are still generated using `pip freeze` and automatically
  managed by our custom scripts in `canary` builds - this will be
  replaced later by switching to `uv.lock` mechanism.

* potentially, we could merge `devel-common` and `dev` - to be
  considered as a follow-up.

* PROD image is stil build with `pip` by default when using
  `PyPI` or distribution packages  - but we do not support building
  the source image with `pip` - when building from sources, uv
  is forced internally to install packages. Currently we have
  no plans to change default PROD building to use `uv`.

This is the detailed list of changes implemented in this PR:

* uv is now mandatory to install as pre-requisite in order to
  develop airflow. We do not support installing airflow for
  development with `pip` - there will be a lot of cases where
  it will not work for development - including development
  dependencies and installing several distributions together.

* removed meta-package `hatch_build.py' and replacing it with
  pre-commit automatically modifying declarative pyproject.toml

* stripped down `hatch_build_airflow_core.py` to only cover custom
  git and asset build hooks (and renaming the file to `hatch_build.py`
  and moving all airflow dependencies to `pyproject.toml`

* converted "loose" packages in airflow repo into distributions:
  * docker-tests
  * kubernetes-tests
  * helm-tests
  * dev (here we do not have `src` subfolder - sources are directly
    in the distribution, which is for-now inconsistent with other
    distributions).

  The names of the `_tests` distribution folders have been renamed to
  the `-tests` convention to make sure the imports are always
  referring to base of each distribution and are not used from the
  content root.

* Each eof the distributions (on top of already existing airflow-core,
  task-sdk, devel-common and 90+providers has it's own set of
  dependencies, and the top-level meta-package workspace root brings
  those distributions together allowing to install them all tegether
  with a simple `uv sync --all-packages` command and come up with
  consistent set of dependencies that are good for all those
  packages (yay!). This is used to build CI image with single
  common environment to run the tests (with some quirks due to
  constraints use where we have to manually list all distributions
  until we switch to `uv.lock` mechanism)

* `doc` code is moved to `devel-common` distribution. The `doc` folder
  only keeps README informing where the other doc code is, the
  spelling_wordlist.txt and start_docs_server.sh. The documentation is
  generated in `generated/generated-docs/` folder which is entirely
  .gitignored.

* the documentation is now fully moved to:
  * `airflow-core/docs` - documentation for Airflow Core
  * `providers/**/docs` - documentation for Providers
  * `chart/docs` - documentation for Helm Chart
  * `task-sdk/docs` - documentation for Task SDK (new format not yet published)
  * `docker-stack-docs` - documentation for Docker Stack'
  * `providers-summary-docs` - documentation for provider summary page

* `versions` are not dynamically retrieved from `__init__.py` all
  of them are synchronized directly to pyproject.toml files - this
  way - except the custom build hook - we have no dynamic components
  in our `pyproject.toml` properties.

* references to extras were removed from INSTALL and other places,
  the only references to extras remains in the user documentation - we
  stop using extras for local development, we switch to using
  dependency groups.

* backtracking command was removed from breeze - we did not need it
  since we started using `uv`

* internal commands (except constraint generation) have been moved to
  `uv` from `pip`

* breeze requires `uv` to be installed and expects to be installed by
  `uv tool install -e ./dev/breeze`

* pyproject.tomls are dynamically modified when we add a version
  suffix dynamically (`--version-suffix-for-pypi`) - only for the
  time of building the versions with updated suffix

* `mypy` checks are now consistently used across all the different
  distributions and for consistency (and to fix some of the issues
  with namespace packages) rather than using "folder" approach
  when running mypy checks, even if we run mypy for whole
  distribution, we run check on individual files rather than on
  a folder. That adds consistency in execution of mypy heursistics.
  Rather than using in-container mypy script all the logic of
  selection and parameters passed to mypy are in pre-commit code.
  For now we are still using CI image to run mypy because mypy is
  very sensitive to version of dependencies installed, we should
  be able to switch to running mypy locally once we have the
  `uv.lock` mechanism incorporated in our workflows.

* lower bounds for dependencies have been set consistently across
  all the distributions. With `uv sync` and dependabot, those
  should be generally kept consistently for the future

* the `devel-common` dependencies have been groupped together in
  `devel-common` extras - including `basic`, `doc`, `doc-gen`, and
  `all` which will make it easier to install them for some OS-es
  (basic is used as default set of dependencies to cover most
  common set of development dependencies to be used for development)

* generated/provider_dependencies.json are not committed to the
  repository any longer. They are .gitignored and geberated
  on-the-flight as needed (breeze will generate them automatically
  when empty and pre-commit will always regenerate them to be
  consistent with provider's pyproject.toml files.

* `chart-utils` have been noved to `helm-tests` from `devel-common`
  as they were only used there.

* for k8s tests we are using the `uv` main `.venv` environment
  rather than creating our own `.build` environment and we use
  `uv sync` to keep it in sync

* Updated `uv` version to 0.6.10

* We are using `uv sync` to perform "upgrade to newer depencies"
  in `canary` builds and locally

* leveldb has been turned into "dependency group" and removed from
  apache-airflow and apache-airflow-core extras, it is now only
  available by google provider's leveldb optional extra to install
  with `pip`
2025-04-02 13:11:13 +02:00
GPK
c534e1288d Group ui updates in dependaboat (#48361)
* Group ui updates

* Name and core ui and fab ui groups

* Fix v2-10-test path for UI
2025-03-25 19:37:10 +00:00
GPK
b60c3b47cc Close provider updates temporarily in dependaboat (#48353)
* Close provider updates temporarly

* Close provider updates temporarly
2025-03-25 17:50:35 +00:00
GPK
23312888a0 Update dependaboat config with providers individual groups (#48144)
* Update dependaboat config with providers individual groups

* Update labels
2025-03-23 23:03:39 +01:00
Jens Scheffler
974a424d6a Run Dependabot also for NPM as well as v2 branch (#48124)
* Run Dependabot also for NPM as well as v2 branch

* Review feedback

* Add airflow-core and airflow-ctl
2025-03-23 20:59:28 +01:00
Jarek Potiuk
fbe3fc927e Move task_sdk to a standalone task-sdk distribution (#47451)
This is the next stage of refactoring of airflow packages, after
moving providers to standalone dstribution and separating devel-common
as a common distribution.

The `task_sdk` has been renamed to `task-sdk` - this way we will
never import anything in task_sdk accidentally starting from content
root. Some changes have been needed to make it works:

* autouse fixture was added to pytest plugin to add `task-sdk/tests`
  to PYTHONPATH to make it root import
* all tests were moved to `task_sdk` package inside the tests folder
* all imports for tests are now `from task_sdk`
* common tools for task_sdk has been moved to
  `devel-common/src/test_utils/task_sdk.py` in order to allow importing
  them before `task-sdk/tests` is added to pythonpath
2025-03-06 21:38:32 +01:00
GPK
00ff7fa50c Add provider dependency group to dependaboat config (#46948) 2025-02-21 17:34:57 +01:00
GPK
50c2c9a0cc Add dependaboat to check upgrades daily (#44966)
* add dependaboat to check upgrades daily

* add task_sdk to dependaboat directories list

* Update .github/dependabot.yml

Co-authored-by: Jens Scheffler <95105677+jscheffl@users.noreply.github.com>

* Remove quotes

Co-authored-by: Jens Scheffler <95105677+jscheffl@users.noreply.github.com>

* Update .github/dependabot.yml

---------

Co-authored-by: Jens Scheffler <95105677+jscheffl@users.noreply.github.com>
2024-12-17 16:57:58 +01:00