# # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # NOTE! This docker ignore uses recommended technique # Where everything is excluded by default and you deliberately # Add only those directories/files you need. This is very useful # To make sure that Docker context is always the same on any machine # So that generated files are not accidentally added to the context # This allows Docker's `COPY .` to behave in predictable way # Ignore everything ** # Allow only these directories !airflow-core !common !dags !dev !chart !licenses # Add all "production" distributions !providers/ !task-sdk/ !airflow-ctl/ !go-sdk/ # Add all "test" distributions !tests !devel-common !docker-tests !helm-tests !kubernetes-tests !task-sdk-integration-tests !airflow-ctl-tests !shared/ !airflow-e2e-tests # Add scripts so that we can use them inside the container !scripts !.rat-excludes !.dockerignore !RELEASE_NOTES.rst !LICENSE !NOTICE !.github !empty !Dockerfile !prod_image_installed_providers.txt # This folder is for you if you want to add any packages to the docker context when you build your own # docker image. most of other files and any new folder you add will be excluded by default !docker-context-files !constraints # Docs !conf.py !docs !docker-stack-docs !providers-summary-docs # Avoid triggering context change on README change (new companies using Airflow) # So please do not uncomment this line ;) # !README.md # Run tests command with bash completion !.bash_completion !.bash_completion.d # Setup/version configuration !pyproject.toml !uv.lock !manifests !generated # Reproducible build configuration !reproducible_build.yaml # Now - ignore unnecessary files inside allowed directories # This goes after the allowed directories # Git version is dynamically generated airflow-core/src/airflow/git_version # Exclude node/pmpme caches.. **/.pnpm-store **/node_modules # Exclude link to docs airflow-core/src/airflow/ui/static/docs # Legacy www exclusions (just to exclude things in case you switch to old branches and generate assets) # THey should not be in airflow-core as "www" never was there. airflow/www/static/docs airflow/www/static/dist airflow/www/node_modules # Exclude any .venv and .ruff_cache **/.venv **/.ruff_cache/ # Exclude docs artifacts **/_inventory_cache/ # Exclude python generated files **/__pycache__/ **/*.py[cod] **/*$py.class **/.pytest_cache/ **/env/ **/build/ **/develop-eggs/ **/dist/ **/downloads/ **/eggs/ **/.eggs/ **/lib/ **/lib64/ **/parts/ **/sdist/ **/var/ **/wheels/ **/*.egg-info/ **/.installed.cfg **/*.egg # But ensure UI dist files are included !airflow-core/src/airflow/ui/dist !airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/dist !providers/fab/src/airflow/providers/fab/www/dist !providers/edge3/src/airflow/providers/edge3/plugins/www/dist # Exclude temporary vi files **/*~ # Exclude output files **/*.out **/hive_scratch_dir/ # Exclude auto-generated Finder files on Mac OS **/.DS_Store **/Thumbs.db # files generated by memray *.py.*.html *.py.*.bin /kubernetes-tests/.venv/ # Exclude doc files **/_api **/_build **/_doctree