Commit Graph

119 Commits

Author SHA1 Message Date
Wei Lee
23ab73adf0 build: upgrade uv to 0.9.17, prek to 0.2.21, ruff to 0.14.9 (#59350) 2025-12-12 11:13:54 +05:30
Bugra Ozturk
6b4867e816 Update uv version to 0.9.16 (#59138)
* Update uv version to 0.9.16

* Update uv version to 0.9.16
2025-12-06 21:01:17 +01:00
Amogh Desai
cd255d7bff Bump ruff to 0.14.8, uv to 0.9.15 (#59058) 2025-12-04 20:48:32 +01:00
Jarek Potiuk
d490d09fc1 CI: Upgrade important CI environment (#58915) 2025-12-02 10:58:55 +01:00
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
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
Jarek Potiuk
6d36d7b4ff CI: Upgrade important CI environment (#58696) 2025-11-26 01:47:54 +01: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
Jarek Potiuk
c25e7839b8 CI: Upgrade important CI environment (#58423) 2025-11-18 20:10:51 +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
Jarek Potiuk
8bfe744fe1 CI: Upgrade important CI environment (#58164) 2025-11-10 22:20:26 +01: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
Jarek Potiuk
7a1631641f Fix start-rc-process command test in CI (#57870) 2025-11-05 16:43:51 +01:00
Wei Lee
26c93bc52b ci(github-actions): Upgrade uv and ruff versions to fix CI 2025-10-31 11:25:39 +05:30
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
59089cda66 Synchronize and fix ARM CI workflows (#56856)
There were a few issues with ARM workflows:

* not all jobs were run in ARM tests - we do not want to run mysql
  of course, but other tests should be fine to run on ARM
* some conditions were not updated (we have to somehow duplicate
  amd and arm job definition because we run out of composite
  workflows - so sometimes conditions are not synced)
* most importantly - we uploaded prek cache in build-info job, but
  that job only run on AMD, not on ARM so the ARM cache was really
  an AMD one (and it caused unterminated strings in doctoc installation

It's not possible to upload same artifact twice in the same job and
since we use prek in several jobs we should make sure that the cache
is only uploaded once per job. This was the reason why it was initially
uploaded in build-info job (and save-cache was set to false elsewhere).
With this PR, we have save-cache in 3 places:

* basic checks
* static CI-image bound checks
* in octopin (Python 3.11)

Basic checks and static checks are mutually exclusive (controlled by
basic-checks-only flag) - so we can safely upload cache in both.

In all other places we only install prek with cache, but we do not
save the cache as artifact.
2025-10-19 22:02:12 +02:00
Jarek Potiuk
2eb48e23c9 Upgrade uv and remove accidental uv sync (#56834)
Uv upgraded to 0.9.4 and also we remove accidentally added uv sync
2025-10-19 07:42:20 +02:00
Jarek Potiuk
556d179d35 Restore prek cache in a more robust way (#56796)
Apparently the prek cache mechanism has been somewhat broken for a
while - after we split prek to monorepo. The hash files used to
determine prek-cache was different for save and restore step
(the `**/` has been missing in the save cache step. Which means
that we always failed to restore cache and created it from the
scratch.

Also, it seems that the prek cache-when prepared refers to the uv
version that is pre-installed for it in case uv is not installed
in the system. And it refers to the uv version when creating the
virtual environments used by prek, and we first attempted to
install prek and create cache, and only after we installed uv, which
had a side-effect that in some cases the installed venvs referred
to a missing python binary.

Finally - there is a bug in prek https://github.com/j178/prek/issues/918
that pygrep cache contains reference to a non-existing python binary
that should be run when pygrep runs.

Also it's possible that some of the cache installed in workspace by the
github worker remained, and we did not preemptively clean the cache when
we attempted to restore it and failed.

This PR attempts to restore the cache usage in a more robust way:

* fixed cache key on save to save cache with proper name
* added uv version to cache key for prek
* always install uv in desired version before installing prek
* if we faile to cache-hit and restore the cache, we clean-up
  the .cache/prek folder
* we do not look at skipped hooks when installing prek and restoring
  or saving cache. There is very little saving on some hooks and
  since we are preparing the cache in "build-info" now - it's better
  to always use the same cache, no matter if some checks are skipped
* upgraded to prek 0.2.10 that fixed the issue with pygrep cache
2025-10-18 17:47:47 +02:00
GPK
0f5b91e566 Bump upgrade check versions (#56743) 2025-10-17 10:03:30 +05:30
Amogh Desai
384d3cadd1 Bump uv to 0.9.2, prek to 0.2.5, golang to 1.25.3 (#56612) 2025-10-14 14:09:14 +02:00
Bugra Ozturk
cea5e32d83 Bump uv version from 0.9.0 to 0.9.1 (#56512) 2025-10-10 01:06:25 +02:00
Amogh Desai
0ec6653d30 Bump uv version to 0.9.0 and ruff to 0.14.0 (#56467) 2025-10-08 13:08:39 +01:00
Amogh Desai
2c62f88e05 Bump uv version to 0.8.24 and prek to 0.2.4 (#56464) 2025-10-07 15:54:39 -07:00
GPK
60c51dbf41 Bump uv and hatch versions (#56032) 2025-09-24 11:09:18 +01:00
Kaxil Naik
e6ebf6d9d6 Bump uv to 0.8.20 (#55978) 2025-09-23 04:39:43 +01:00
Kaxil Naik
77dc1a1b1c Bump uv to 0.8.18 and ruff to 0.13.1 (#55858)
New versions: https://github.com/apache/airflow/actions/runs/17840293464/job/50727976145
2025-09-18 23:46:13 +01:00
Jarek Potiuk
8634ce0d3f Upgrade octopin to bleeding edge (#55653)
Two-space before comment are added in "main" version of octopin, so
we should use --bleeding-edge for octopin.
2025-09-14 23:04:47 +01:00
GPK
fe2ddb090c Include mypy upgrades to upgrade-important-versions prek hook (#55597) 2025-09-12 23:06:36 +01:00
Wei Lee
68236cc2a6 build: upgrade important version (#55519) 2025-09-12 03:01:12 +08:00
Amogh Desai
897d0bfb26 Add CI job to test airflow standalone startup (#55458) 2025-09-11 12:20:59 -06:00
GPK
3e776cc564 CI: Bump UV and Ruff (#55480)
* Bump UV and Ruff

* Fix ruff static check errors
2025-09-11 01:13:45 +01:00
Jarek Potiuk
08d41e10f9 Upgrade to latest versions of important deps and improve the script (#55350)
This PR upgrades latest versions of the important dependencies, also
it implements the possibility of using the token that is used
locally via `gh` GitHub CLI - this way if you did `gh auth login`
to use `gh` for your repository, there is no need to create and
pass GITHUB_TOKEN via UI of GitHub.

Also added ruff to the upgraded packages, and synchronized the variables
in upgrade checks to include all the packages we are checking for
2025-09-07 23:49:56 +02:00
Jarek Potiuk
b507852799 Only use runner cleanup where it is really needed (#55345)
We decided to clean-up runner and remove all the potential garbage
we get when we start runner - we also move docker to a separate
/mnt partitiion available on the runners - because for unit testing
especially we need as much space as possible. Also when we build
images, it is best if we use clean, pristine docker engine located
on the /mnt folder.

All of our other jobs are ok with small disk space and sometimes that cleanup
can take up to a minute (usually it is 10-20s)

This change (experimentally) removes all cleanup from all jobs
except the unit tests and image building to see if we can get stability
and speed at the same time.
2025-09-07 16:54:47 +02:00
Jarek Potiuk
401e8e4769 Bring back check translation completeness (#55341)
The check has been accidentally removed in #55328 - this PR brings
it back.
2025-09-07 09:16:50 +02:00
Jarek Potiuk
91ac6badc2 Improve cache usage for prek hooks (#55328)
Previously we were only using prek cache from canary builds, but
since we are starting to use several separate prek runs, it makes
sense to install prek hooks only once and store them in cache and
reuse even in the same build.

This PR removes "only-canary" prek cache preparation - now all
builds including all PRs from fork preapare prek cache once and
upload them as artifacts - then restoring prek cache for every
prek run should be much faster.
2025-09-07 08:25:42 +02:00
Jarek Potiuk
eda82cadd6 Check if plural forms are correct for languages. (#55327)
* Check if plural forms are correct for languages.

It turned out, that some of the languages we had, did not have
proper plural forms defined. There were few problems with it:

* some languages had "default" form defined where they should have
  other forms
* there were no check if language was missing in the plural forms,
  so new languages got the "default" form by - well - default.
* we had no check in CI to check if languages are defined in the
  plural forms

This PR modifies the `check-translations-completeness` script and
uses it as a prek (manual) hook to make it easier to get run, also
to be able to run it in CI - it exits with non-zero exit only when
there is a clear issue with configuration or call parameters,
rather than when there are missing translations, it only prints
green/red message summarizing the output.

* Update dev/i18n/check_translations_completeness.py

Co-authored-by: Shahar Epstein <60007259+shahar1@users.noreply.github.com>

---------

Co-authored-by: Shahar Epstein <60007259+shahar1@users.noreply.github.com>
2025-09-06 18:13:05 +02:00
Amogh Desai
fb4f34c8a1 Display the correct shared project while running shared distro tests (#55261) 2025-09-04 14:32:13 +02:00
Wei Lee
70ed6c5197 ci: upgrade important versions (#55050) 2025-08-29 07:40:37 +02:00
Wei Lee
b8cf4aef04 ci(github-actions): add missing --task-sdk-version arg (#54975) 2025-08-27 18:41:23 +08:00
GPK
fcd52e9dc7 Migrate windows-latest label to windows-2025 (#54866) 2025-08-23 15:16:27 +02:00
Jarek Potiuk
776586714c Refactor tests for shared distributions (#54863)
* Dynamically detect shared distributions in selective checks
* Run the tests as matrix
* Skip cleaning the worker and setting up docker and breeze
* Install the version of uv that we are bound with
* Run tests in parallel with xdist
2025-08-23 12:40:47 +02:00
Amogh Desai
e70b8d6d9a Stabilising shared timezone tests and running them in CI (#54860) 2025-08-23 10:25:12 +02:00
Amogh Desai
7982542755 Move secrets_masker over to airflow_shared distribution (#54449) 2025-08-23 10:48:43 +05:30
Jarek Potiuk
f187852c72 Upgrade prek, prek hooks, breeze lock and other important deps (#54726)
After https://github.com/j178/prek/issues/35 has been completed and
released in `prek` 0.1.1 we can bring back the functionality of
flagging when our prek hooks need to be updated.

This PR brings minimum version of prek to 0.1.1 as well as
upgrades all other important versions up, upgrades breeze uv.lock
and brings back the steps in upgrade check to check for auto-upgradeable
hooks.
2025-08-20 14:02:43 +02:00
Jarek Potiuk
946097674b Fix conditionals for test types and make them consistent (#54678)
The go tests do not depend on CI image being built, also they should
not be run independently on the `run-tests` flag - because
run-tests is generally for our unit tests.

They should be run when `run-go-sdk-tests` is set and without
dependency on ci-images being built. There were also a few
other issues found during this cleanuup:

Several outputs were inconsistently named:

* run-tests was renamed to run-unit-tests
* need-* outputs were renamed to run-*

Some other fixes were applied:

* only-new-ui-files was removed as it is not needed any more as
  we do not really need that check to be exposed to actions, it
  is only used internally - to not run other tests when only ui
  files changed
* run-system-tests was not properly used (it is currently an
  alias to run-unit-tests anyway - but foreseen for future
  separation$a
* need-javascript-scans and need-python-scans have been removed
  as they are no longer used
2025-08-20 00:55:11 +02:00
Jarek Potiuk
4e6fa29117 Remove black usage in prek hooks (#54656)
We are not using black-related functionality in prek hooks any more - the
only remaining hook is 'blacken-docs` - but there is no need to synchronize
and upgrade black version any more for it.

Upgraded to latest black version for blacken-docs manually.
2025-08-19 14:26:08 +02:00
Jarek Potiuk
ef911fa273 Make cache for prek dependent on platform (#54655) 2025-08-19 13:59:43 +02:00
Jarek Potiuk
3aa24487f0 Change upgrading scheme for prek and bump to latest version (#54599)
The 0.0.28 prek has an important fix - avoids craching when you run
`git commit -a` https://github.com/j178/prek/issues/385 - we bump
the minimum_version to 0.0.28 as well as upgrading the CI and Breeze
version to 0.0.28 - also, we change the strategy of failing
upgrade check in CI - we do not fail the upgrade check when there
is a new upgrade of `prek` - similar like with `uv` we expect
new versions to be released quickly over the `teething` period.
2025-08-18 10:07:22 +02:00