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

20 Коммитов

Автор SHA1 Сообщение Дата
Jarek Potiuk 1cf1af664f
Do not override in_container scripts when building the image (#10442)
After #10368, we've changed the way we build the images
on CI. We are overriding the ci scripts that we use
to build the image with the scripts taken from master
to not give roque PR authors the possibiility to run
something with the write credentials.

We should not override the in_container scripts, however
because they become part of the image, so we should use
those that came with the PR. That's why we have to move
the "in_container" scripts out of the "ci" folder and
only override the "ci" folder with the one from
master. We've made sure that those scripts in ci
are self-contained and they do not need reach outside of
that folder.

Also the static checks are done with local files mounted
on CI because we want to check all the files - not only
those that are embedded in the container.
2020-08-21 17:21:57 +02:00
Jarek Potiuk 306a6660fd
Docker images are now consistently labelled and a bit smaller (#10387)
Extracted from #10368
2020-08-19 02:03:22 +02:00
Jarek Potiuk de9eaeb434
Constraint files are now maintained automatically (#9889)
* Constraint files are now maintained automatically

* No need to generate requirements when setup.py changes
* requirements are kept in separate orphan branches not in main repo
* merges to master verify if latest requirements are working and
  push tested requirements to orphaned branches
* we keep history of requirement changes and can label them
  individually for each version (by constraint-1.10.n tag name)
* consistently changed all references to be 'constraints' not
  'requirements'
2020-07-20 14:36:03 +02:00
Jarek Potiuk 6aabd9a86e
More sensible docker caching strategy for Prod images (#9547)
Local caching is now default strategy when building
the Production image.

You can still change it to pulled - similar to CI builds
by providing the right build flag and this is what
is used in CI by default. The flags in Breeze are now updated
to be more eplanatory and friendly (build-cache-*) and a flag
for "disabled" cache option is added as well.

Also the Dockerfile and Dockerfile.ci files are not needed
any more in the docker context. They used to be needed when
we built the Kubernetes image in the container, but since
we are now using production image directly - we do not need
them any nmore.

Combining setting the default strategy to local and removing
the Dockerfile from the context has the nice effect that you
can iterate much faster on the Production image without
triggering rebuilds of half of the docker image
as soon as the Dockerfile changes.
2020-06-28 17:38:17 +02:00
Kamil Breguła 6a9c436f6f
Move out metastore_browser from airflow.contrib (#9341) 2020-06-17 21:52:23 +02:00
Jarek Potiuk 7c12a9d4e0
Improve production image iteration speed (#9162)
For a long time the way how entrypoint worked in ci scripts
was wrong. The way it worked was convoluted and short of black
magic. This did not allow to pass multiple test targets and
required separate execute command scripts in Breeze.

This is all now straightened out and both production and
CI image are always using the right entrypoint by default
and we can simply pass parameters to the image as usual without
escaping strings.

This also allowed to remove some breeze commands and
change names of several flags in Breeze to make them more
meaningful.

Both CI and PROD image have now embedded scripts for log
cleaning.

History of image releases is added for 1.10.10-*
alpha quality images.
2020-06-16 12:36:46 +02:00
Jarek Potiuk 07fd0d71c8
Add Production Docker image support (#7832) 2020-04-02 18:52:11 +01:00
Jarek Potiuk 3fb5f1568c
Requirements now depend on python version (#7841) 2020-03-27 15:27:53 +01:00
Jarek Potiuk 210de87d6d
Move Dockerfile to Dockerfile.ci (#7829) 2020-03-23 08:56:26 +01:00
Jarek Potiuk 8c5638832f
[AIRFLOW-7067] Pinned version of Apache Airflow (#7730) 2020-03-22 13:34:48 +01:00
Jarek Potiuk 6cc9d817fa
[AIRFLOW-7013] Automated check if Breeze image needs to be pulled (#7656) 2020-03-12 09:48:24 +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 239d51ed31
[AIRFLOW-6216] Allow pytests to be run without "tests" (#6770)
With this change you should be able to simply run `pytest` to run all the tests in the main airflow directory.

This consist of two changes:

* moving pytest.ini to the main airflow directory
* skipping collecting kubernetes tests when ENV != kubernetes
2019-12-10 14:49:00 +01:00
Jarek Potiuk cc754f7f74
[AIRFLOW-5886] Selective copying of sources in Docker image (#6538)
This change further improves time of rebuilds for docker image when your
sources change (very useful in case of building kubernetes image). It adds only
directories that are needed (it is synchronised with .dockerignore and local
mounts) and in the sequence that reflects frequency of changes. Also pip
install is not done again after sources change (there is no point) so the
build is much faster when only sources or test file change.
2019-11-12 22:40:03 +01:00
Jarek Potiuk f2473b320f
[AIRFLOW-5885] List of tests is generated dynamically after you enter Breeze (#6536)
The list of tests for autocomplete is now generated automatically when you enter Breeze.

It will take some 40 seconds or so to generate the list and until it's done there are
no autocompletions but they appear right after the list is ready.
2019-11-12 16:20:07 +01:00
Jarek Potiuk 9d6b58d871 [AIRFLOW-5389] better organized scripts for building CI docker deps 2019-09-03 16:13:41 +02:00
Jarek Potiuk 286aa7a581
[AIRFLOW-3611] Simplified development environment (#4932) 2019-08-27 14:39:36 -04:00
Jarek Potiuk 7e498b48f0
[AIRFLOW-5063] Fix performance when switching between master/v1-10 (#5677) 2019-07-29 16:15:55 +02:00
Jarek Potiuk 2d086d77f1
[AIRFLOW-4117] Travis CI uses multi-stage images to run tests (#4938) 2019-07-17 22:42:43 +02:00
Jarek Potiuk 5b53d9987f [AIRFLOW-4115] Multi-staging Aiflow Docker image (#4936) 2019-04-13 15:03:02 +02:00