Граф коммитов

13 Коммитов

Автор SHA1 Сообщение Дата
Jarek Potiuk c27f7e234b
[AIRFLOW-6489] Separate integrations in tests (#7091)
You can now choose which integration you want to start when you run
Breeze as well as when CI tests are run. Now by default Breeze
and CI runs without integrations, but you can add them via
Breeze flags or by environment variables when CI is executed.

We have pytest markers now that mark tests that can be run for
integration, backend and runtime selected.

Also we have now more test jobs - we have separate test run
for all non-integration tests (with less memory used by the
integrations) and separate jobs that run integration tests
only (more memory used for integrations but far less number
of tests to run)
2020-01-13 20:47:37 +01:00
Jarek Potiuk 73403cc8f4
[AIRFLOW-5704] Improve Kind Kubernetes scripts for local testing (#6516)
* Fixed problem that Kubernetes tests were testing latest master
  rather than what came from the local sources.
* Kind (Kubernetes in Dcocker) is run in the same Docker as Breeze env
* Moved Kubernetes scripts to 'in_container' dir where they belong now
* Kubernetes cluster is reused until it is stopped
* Kubernetes image is build from image in docker already + mounted sources
* Kubectl version name is corrected in the Dockerfile
* KUBERNETES_VERSION can now be used to select Kubernetes version
* Running kubernetes scripts is now easy in Breeze
* We can start/recreate/stop cluster using  --<ACTION>-kind-cluster
* Instructions on how to run Kubernetes tests are updated
* The old "bare" environment is replaced by --no-deps switch
2020-01-11 16:25:19 +01:00
Jarek Potiuk 2b374721f8
[AIRFLOW-6489] Add BATS support for Bash unit testing (#7081)
We have far too much bash code around that is not automatically tested.

This is the first step to change it (simplifications and more tests are coming
soon).
2020-01-07 15:38:05 +01:00
Jarek Potiuk a36cfe049a
[AIRFLOW-6004] Untangle Executors class to avoid cyclic imports (#6596)
There are cyclic imports detected seemingly randomly by pylint checks when some
    of the PRs are run in CI

    It was not deterministic because pylint usually uses as many processors as
    many are available and it splits the list of .py files between the separate
    pylint processors - depending on how the split is done, pylint check might
    or might not detect it. The cycle is always detected when all files are used.

    In order to make it more deterministic, all pylint and mypy errors were resolved
    in all executors package and in dag_processor.

    At the same time plugins_manager had also been moved out of the executors
    and all of the operators/hooks/sensors/macros because it was also causing
    cyclic dependencies and it's far easier to untangle those dependencies
    in executor when we move the intialisation of all plugins to plugins_manager.

    Additionally require_serial is set in pre-commit configuration to
    make sure cycle detection is deterministic.
2019-12-03 16:02:20 +01:00
Jiajie Zhong fc2098f5df [AIRFLOW-6089] Reorder setup.py dependencies and add ci (#6681)
* Reorder dependencies in setup.py
2019-11-30 10:05:14 +01:00
Jarek Potiuk 0ff9e23070
[AIRFLOW-6066] Added pre-commit checks for accidental debug stmts (#6662) 2019-11-26 09:28:42 +01:00
bolkedebruin 6a853db37b [AIRFLOW-6002] Drop support for python 3.5 (#6595) 2019-11-18 00:05:13 +01:00
Jarek Potiuk 1b3af10246 Revert "[AIRFLOW-5704] Improve Kind Kubernetes scripts for local testing (#6496)"
This reverts commit 8e789a33a3.
2019-11-07 13:36:05 +01:00
Jarek Potiuk 8e789a33a3
[AIRFLOW-5704] Improve Kind Kubernetes scripts for local testing (#6496)
* [AIRFLOW-5704] Improve Kind Kubernetes scripts for local testing

* Fixed problem that Kubernetes tests were testing latest master
  rather than what came from the local sources.
* Moved Kubernetes scripts to 'in_container' dir where they belong now
* Kubernetes tests are now better suited for running locally
* Kubernetes cluster is not deleted until environment is stopped
* Kubernetes image is built outside of the container and passed as .tar
* Kubectl version name is corrected in the Dockerfile
* Kubernetes Version can be used to select Kubernetes versio
* Running kubernetes scripts is now easy in Breeze
* Instructions on how to run Kubernetes tests are updated
* Better flags in Breeze are used to run Kubernetes environment/tests
* The old "bare" environment is replaced by --no-deps switch
2019-11-06 17:25:11 +01:00
Jarek Potiuk ba01ed538f
[AIRFLOW-5750] Licence check is done also for non-executable .sh (#6425) 2019-10-25 09:54:36 +02:00
Jarek Potiuk 63344f2e0d [AIRFLOW-5745] Breeze complete has now licence (#6415) 2019-10-24 19:58:30 +02:00
Jarek Potiuk 857788e305
[AIRFLOW-5369] Adds interactivity to pre-commits (#5976)
This commit adds full interactivity to pre-commits. Whenever you run pre-commit
and it detects that the image should be rebuild, an interactive question will
pop up instead of failing the build and asking to rebuild with REBUILD=yes

This is much nicer from the user perspective. You can choose whether to:
1) Rebuild the image (which will take some time)
2) Not rebuild the image (this will use the old image with hope it's OK)
3) Quit.

Answer to that question is carried across all images needed to rebuild.
There is the special "build" pre-commit hook that takes care about that.

Note that this interactive question cannot be asked if you run only
single pre-commit hook with Dockerfile because it can run multiple processes
and you can start building in parallel. This is not desired so instead we fail
such builds.
2019-09-18 13:43:30 +02:00
Jarek Potiuk 286aa7a581
[AIRFLOW-3611] Simplified development environment (#4932) 2019-08-27 14:39:36 -04:00