blob: f3723cfc6bf149ecc831eff0fe04f358d60b1d8b [file]
#
# 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/
!java-sdk/
!ts-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