diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 23d85fa85f71..7d451dc27d3b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -416,13 +416,6 @@ repos: ^docs/apache-airflow-providers-apache-hive/commits\.rst$| git| ^CHANGELOG\.txt$ - - id: capitalized-breeze - language: pygrep - name: Only capitalized Breeze used in Breeze2. - description: Please use capitalized "Breeze" in the new Breeze docs - entry: ([\W\s\n\t\r]|^)breeze([\W\s\n\t\r]|$) - pass_filenames: true - files: ^dev/breeze/doc - id: base-operator language: pygrep name: Check BaseOperator[Link] core imports diff --git a/dev/breeze/doc/BREEZE.md b/dev/breeze/doc/BREEZE.md new file mode 100644 index 000000000000..bf7f17d8980c --- /dev/null +++ b/dev/breeze/doc/BREEZE.md @@ -0,0 +1,106 @@ + + + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Airflow Breeze CI environment](#airflow-breeze-ci-environment) + - [Breeze on Linux](#breeze-on-linux) + - [Breeze on Windows](#breeze-on-windows) + + + +
+ Airflow Breeze - Development and Test Environment for Apache Airflow +
+ +# Airflow Breeze CI environment + +Airflow Breeze is an easy-to-use development and test environment using Docker Compose. The environment is available for local use and is also used in Airflow's CI tests. + +We called it Airflow Breeze as It's a Breeze to contribute to Airflow. + +The advantages and disadvantages of using the Breeze environment vs. other ways of testing Airflow are described in CONTRIBUTING.rst. + +All the output from the last ./breeze command is automatically logged to the logs/breeze.out file. + +Watch the video below about Airflow Breeze. It explains the motivation for Breeze and screencasts all its uses. + +[![Watch the video](https://i.imgur.com/vKb2F1B.png)](https://www.youtube.com/watch?v=4MCTXq-oF68) + + +## Breeze on Linux + +Installation is as easy as checking out Airflow repository and running Breeze command. You enter the Breeze test environment by running the ./breeze script. You can run it with the help command to see the list of available options. See Breeze Command-Line Interface Reference for details. + +```bash +./breeze +``` + +The First time you run Breeze, it pulls and builds a local version of Docker images. It pulls the latest Airflow CI images from the GitHub Container Registry and uses them to build your local Docker images. Note that the first run (per python) might take up to 10 minutes on a fast connection to start. Subsequent runs should be much faster. + +Once you enter the environment, you are dropped into bash shell of the Airflow container and you can run tests immediately. + +To use the full potential of Breeze you should set up autocomplete and you can add the checked-out Airflow repository to your PATH to run Breeze without the ./ and from any directory. + +The Breeze command comes with a built-in bash/zsh autocomplete setup command. After installing, when you start typing the command, you can use to show all the available switches and get auto-completion on typical values of parameters that you can use. + +You should set up the autocomplete option automatically by running: + +```bash +./breeze setup-autocomplete +``` + +You get the auto-completion working when you re-enter the shell. + +## Breeze on Windows + +In Windows environment, you will need to use pipx to install Breeze. + +Install pipx + +```bash +pip install --user pipx +``` + +Install Breeze, this command will generate Breeze2.exe + +```bash +pipx install -e dev/breeze +``` + +Breeze, is not globally accessible until your PATH is updated. Add \.local\bin as a variable environments. This can be done automatically by the following command. + +```bash +pipx ensurepath +``` + +Finally, use Breeze, --help will show you Breeze options. + +```bash +Breeze2 --help +``` + +To update the installation use: --force + +```bash +pipx install --force -e dev/breeze +```