This proposal was deprecated by AIP-10 Multi-layered and multi-stage official Airflow CI image where CI image is being embedded into the main airflow repository
Right now, every time we pull our CI images from dockerhub, we then need to pip install all dependencies to our local/travis machine. This can take anywhere from 3-5 minutes. This is also extremely wasteful as these packages have to be redownloaded every time the CI script is run.
We can set up our system where if a user wants to create a change to the airflow CI image, they can create a feature branch in https://github.com/apache/incubator-airflow-ci. This will generate a docker image with that feature branch as the tag for the docker image. We specify a dockerhub rule that only the master branch can create numbered tags. When that PR is accepted a new tag is created. This ensures that old builds are not broken since they all contain the old tag.
With the airflow-ci tag changed, users will be able to test their code with the newest dependencies. While the PR is pending they can test with their feature branch image, but PRs will not be accepted until the new official tag has been created.
Once the image has been downloaded once, users will be able to re-run it as many times as they like without needing to redownload all airflow dependencies from scratch. Already provided by the CI image from AIP-10
If we can split the dependencies into multiple image layers and keep individual layers small, these layers can be downloaded in parallel, making for fast loading into travis. Already provided by the CI image from AIP-10