Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
e847dcb
Add support of destination path parameter for GCloud Storage Transfer…
eskarimov Jul 28, 2021
2c19002
Chart: Add instructions to Update Helm Repo before upgrade (#17282)
kaxil Jul 28, 2021
4e2a94c
Fix task retries when they receive sigkill and have retries and prope…
ephraimbuddy Jul 28, 2021
40419dd
Fix running tasks with default_impersonation config (#17229)
ephraimbuddy Jul 28, 2021
430a0f9
Stop attempting to pull base python image when pulling commit hash (#…
potiuk Jul 28, 2021
db19b01
Move input parameter validation under `_validate_inputs` function
eskarimov Jul 28, 2021
3650448
Fix references link in Providers docs (#17286)
kaxil Jul 28, 2021
642d05b
Fix typo in webserver.rst (#17288)
kaxil Jul 28, 2021
9cd5a97
Show serialization exceptions in DAG parsing log (#17277)
jedcunningham Jul 28, 2021
6c9eab3
Update warning about MariaDB and multiple schedulers (#17287)
collinmcnulty Jul 28, 2021
667a45c
Quarantine TestSchedulerJob.test_retry_still_in_executor (#17292)
jedcunningham Jul 28, 2021
96bd4a1
Do not use constraints when preparing venv for k8s tests on CI (#17290)
potiuk Jul 28, 2021
396f30f
Uses current sources when running k8s tests (#17289)
potiuk Jul 28, 2021
6d7fa87
Updates to FlaskAppBuilder 3.3.2+ (#17208)
potiuk Jul 28, 2021
8e76f3c
Doc: Strip unnecessary arguments from MariaDB JIRA URL (#17296)
kaxil Jul 28, 2021
ac0c2d1
Doc: Fix a broken link in an ssh-related warning message (#17294)
MatrixManAtYrService Jul 28, 2021
53e9349
Fix breeze kind-cluster deploy failing with ECONREFUSED (#17293)
ephraimbuddy Jul 29, 2021
2dc7aa8
More optimized lazy-loading of provider information (#17304)
potiuk Jul 29, 2021
8960528
Reformat
eskarimov Jul 29, 2021
d7a6856
deprecate dummy trigger rule infavor of always (#17144)
eladkal Jul 29, 2021
d6e02dc
Fix docs link for using SQLite as Metadata DB (#17308)
kaxil Jul 29, 2021
7b10b56
Grammar and clarity pass on documentation (#17318)
collinmcnulty Jul 29, 2021
fb3031a
Fix race condition with dagrun callbacks (#16741)
jedcunningham Jul 29, 2021
1394dbe
Remove DAG refresh buttons (#17263)
jedcunningham Jul 29, 2021
2020a54
docs: fix inconsistencies in configuration docs (#17317)
mgorsk1 Jul 29, 2021
36bdfe8
Fix CLI 'kubernetes cleanup-pods' which fails on invalid label key (#…
dlampa Jul 29, 2021
c384f9b
GCP Secret Manager error handling for missing credentials (#17264)
fhoda Jul 29, 2021
78506e3
Fix typo in build_images (#17327)
jedcunningham Jul 30, 2021
b814a58
Fix `airflow celery stop` to accept the pid file. (#17278)
santosh-d3vpl3x Jul 30, 2021
892d167
Fix isort (#17330)
uranusjr Jul 30, 2021
0f97b92
Fix failing celery test (#17337)
ephraimbuddy Jul 30, 2021
8d2d264
Normalize directory path
eskarimov Jul 30, 2021
7bff44f
Fix failing test on MSSQL (#17334)
ephraimbuddy Jul 30, 2021
213e337
Added 2RP Net name in INTHEWILD file (#17345)
kevinbsilva Jul 30, 2021
76e6315
Added print statements for clarity in provider yaml checks (#17322)
subkanthi Jul 30, 2021
1941f94
Handle connection parameters added to Extra and custom fields (#17269)
josh-fell Jul 31, 2021
07fc450
Fix link (#17351)
zseta Jul 31, 2021
00d823e
Fix typo in AUTOMATICALLY GENERATED marker (#17335)
malthe Jul 31, 2021
0e0e887
Introduce RESTARTING state (#16681)
yuqian90 Jul 31, 2021
d2a43f3
Update best-practices.rst (#17357)
potiuk Jul 31, 2021
b8abf14
Add Accenture to the INTHEWILD file (#17358)
nijanthan-dev Jul 31, 2021
e8fc3ac
Moves SchedulerJob initialization to within daemon context (#17157)
potiuk Aug 1, 2021
6cc2526
error early if virtualenv is missing (#15788)
MatrixManAtYrService Aug 1, 2021
f53dace
Switch to 'smbprotocol' library (#17273)
malthe Aug 1, 2021
6ced504
Add Vodafone to the list of organisations using Airflow (#17359)
nijanthan-dev Aug 1, 2021
b2ee9b7
Quarantine test_mark_success_on_success_callback (#17364)
potiuk Aug 1, 2021
80fc80a
Fixes #16972 - Slugify role session name in AWS base hook (#17210)
mcreenan Aug 1, 2021
8fa4a8b
Update hasicorp-vault.rst to describe use of config (#17313)
sadan Aug 1, 2021
c52e4f3
Provide information about IRSA on EKS (#17283)
yb-yu Aug 1, 2021
797b515
Update instructions to signify commands as breeze environment command…
nijanthan-dev Aug 1, 2021
07c8ee0
Fixed SlackAPIFileOperator to upload file and file content (#17247)
subkanthi Aug 1, 2021
bab7c86
Fix timestamp test (#17365)
ephraimbuddy Aug 2, 2021
5c1e09c
Improve `dag_maker` fixture (#17324)
ephraimbuddy Aug 2, 2021
7108898
make platform version as independent parameter of ECSOperator (#17281)
codenamestif Aug 2, 2021
0e6e04e
Adds compile_assets to INSTALL (#17377)
py-ranoid Aug 2, 2021
e3089dd
Add autoscaling subcluster support and remove defaults (#17033)
peter-volkov Aug 2, 2021
97428ef
Fix messed-up changelog in 3 providers (#17380)
potiuk Aug 2, 2021
67cbb0f
Enable specifying dictionary paths in `template_fields_renderers` (#1…
nathadfield Aug 2, 2021
e544ffc
Enhancement to bash scripts (#17098)
BShraman Aug 2, 2021
b82bbe8
Example DAG-related updates for Apache Drill (#17384)
josh-fell Aug 2, 2021
bcf719b
refactor: fixed type annotation for 'sql' param in PostgresOperator (…
shadrus Aug 2, 2021
2c1880a
Suggest to use secrets backend for variable when it contains sensitiv…
zkan Aug 2, 2021
d28efbf
Improve AWS SQS Sensor (#16880) (#16904)
baolsen Aug 2, 2021
ff75cbc
New job update (#17386)
BasPH Aug 3, 2021
6895075
Fix quarantined/flaky tests in test_local_task_job.py (#17385)
ephraimbuddy Aug 3, 2021
ac92b17
Remove /dagrun/create and disable edit form generated by F.A.B (#17376)
uranusjr Aug 3, 2021
ed99eaa
Regression on pid reset to allow task start after heartbeat (#17333)
nmehraein Aug 3, 2021
e8e3b06
More touches on dag_maker fixture to create DagModel automatically (#…
ephraimbuddy Aug 3, 2021
4dae4ec
refactor: fixed type annotation for 'sql' in MySqlOperator (#17388)
shadrus Aug 3, 2021
a10eb61
doc: fixed docstring for sql param in Neo4jOperator (#17407)
shadrus Aug 4, 2021
a4b6f1c
Proper warning message when recorded PID is different from current PI…
ephraimbuddy Aug 4, 2021
9bed58e
Support DAGS folder being in different location on scheduler and runn…
ashb Aug 4, 2021
2321020
Improve diagnostics message when users have secret_key misconfigured …
potiuk Aug 4, 2021
2938acd
Add timeout when asking whether to rebuild image (#17412)
potiuk Aug 4, 2021
dfefc66
Optimize context sent for docker build (#17415)
potiuk Aug 4, 2021
537c254
Do not pull CI image for ownership fixing on first, fresh breeze run …
potiuk Aug 4, 2021
4348239
Increases timeout for helm chart builds (#17417)
potiuk Aug 4, 2021
4ee4199
Improve image building documentation for new users (#17409)
potiuk Aug 4, 2021
94b03f6
Optimizes structure of the Dockerfiles and use latest tools (#17418)
potiuk Aug 4, 2021
60848a6
Fix failing static checks in main (#17424)
potiuk Aug 4, 2021
4675539
Update emr.rst (#17420)
arvinder-mo Aug 4, 2021
02586e3
Fixes some static check errors (#17432)
potiuk Aug 5, 2021
9665652
Updating INTHEWILD.md (PEXA) (#17427)
andriyfedorov Aug 5, 2021
c151e8e
Add support of destination path parameter for GCloud Storage Transfer…
eskarimov Jul 28, 2021
8d579d6
Move input parameter validation under `_validate_inputs` function
eskarimov Jul 28, 2021
65e9228
Reformat
eskarimov Jul 29, 2021
80d8122
Normalize directory path
eskarimov Jul 30, 2021
0507794
Merge branch 'add-destination-path-param-for-gcloud-storage-transfer-…
eskarimov Aug 5, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@
!scripts/in_container
!scripts/docker

# Add provider packages to the context
!provider_packages

# Add tests and kubernetes_tests to context.
!tests
!kubernetes_tests
Expand Down Expand Up @@ -129,3 +126,4 @@ airflow/www/static/docs
# Exclude docs generated files
docs/_build/
docs/_api/
docs/_doctrees/
1 change: 0 additions & 1 deletion .github/workflows/build-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,6 @@ jobs:
BACKEND: postgres
PYTHON_MAJOR_MINOR_VERSION: ${{ matrix.python-version }}
UPGRADE_TO_NEWER_DEPENDENCIES: ${{ needs.build-info.outputs.upgradeToNewerDependencies }}
CONTINUE_ON_PIP_CHECK_FAILURE: "true"
DOCKER_CACHE: ${{ needs.build-info.outputs.cacheDirective }}
CHECK_IF_BASE_PYTHON_IMAGE_UPDATED: >
${{ github.event_name == 'pull_request_target' && 'false' || 'true' }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -563,7 +563,7 @@ ${{ hashFiles('.pre-commit-config.yaml') }}"
PACKAGE_FORMAT: "sdist"

tests-helm:
timeout-minutes: 20
timeout-minutes: 40
name: "Python unit tests for helm chart"
runs-on: ${{ fromJson(needs.build-info.outputs.runsOn) }}
needs: [build-info, ci-images]
Expand Down
10 changes: 2 additions & 8 deletions BREEZE.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1280,9 +1280,6 @@ This is the current syntax for `./breeze <./breeze>`_:
--upgrade-to-newer-dependencies
Upgrades PIP packages to latest versions available without looking at the constraints.

--continue-on-pip-check-failure
Continue even if 'pip check' fails.

-I, --production-image
Use production image for entering the environment and builds (not for tests).

Expand Down Expand Up @@ -2393,9 +2390,9 @@ This is the current syntax for `./breeze <./breeze>`_:
Helm version - only used in case one of kind-cluster commands is used.
One of:

v3.2.4
v3.6.3

Default: v3.2.4
Default: v3.6.3

--executor EXECUTOR
Executor to use in a kubernetes cluster.
Expand Down Expand Up @@ -2446,9 +2443,6 @@ This is the current syntax for `./breeze <./breeze>`_:
--upgrade-to-newer-dependencies
Upgrades PIP packages to latest versions available without looking at the constraints.

--continue-on-pip-check-failure
Continue even if 'pip check' fails.

****************************************************************************************************
Use different Airflow version at runtime in CI image

Expand Down
10 changes: 5 additions & 5 deletions CONTRIBUTORS_QUICK_START.rst
Original file line number Diff line number Diff line change
Expand Up @@ -276,14 +276,14 @@ Setting up Breeze

$ ./breeze --python 3.8 --backend mysql

4. Creating airflow tables and users. ``airflow db reset`` is required to execute at least once for Airflow Breeze to get
the database/tables created.
4. Once the breeze environment is initialized, create airflow tables and users from the breeze CLI. ``airflow db reset``
is required to execute at least once for Airflow Breeze to get the database/tables created.

.. code-block:: bash

$ airflow db reset
$ airflow users create --role Admin --username admin --password admin --email admin@example.com --firstname\
foo --lastname bar
root@b76fcb399bb6:/opt/airflow# airflow db reset
root@b76fcb399bb6:/opt/airflow# airflow users create --role Admin --username admin --password admin \
--email admin@example.com --firstname foo --lastname bar


5. Closing Breeze environment. After successfully finishing above command will leave you in container,
Expand Down
27 changes: 12 additions & 15 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ ARG AIRFLOW_GID="50000"

ARG PYTHON_BASE_IMAGE="python:3.6-slim-buster"

ARG AIRFLOW_PIP_VERSION=21.1.2
ARG AIRFLOW_PIP_VERSION=21.2.2
ARG AIRFLOW_IMAGE_REPOSITORY="https://github.com/apache/airflow"

# By default PIP has progress bar but you can disable it.
ARG PIP_PROGRESS_BAR="on"
Expand Down Expand Up @@ -108,12 +109,13 @@ ARG DEV_APT_COMMAND="\
&& curl https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - > /dev/null \
&& echo 'deb https://dl.yarnpkg.com/debian/ stable main' > /etc/apt/sources.list.d/yarn.list"
ARG ADDITIONAL_DEV_APT_COMMAND="echo"
ARG ADDITIONAL_DEV_APT_ENV=""

ENV DEV_APT_DEPS=${DEV_APT_DEPS} \
ADDITIONAL_DEV_APT_DEPS=${ADDITIONAL_DEV_APT_DEPS} \
DEV_APT_COMMAND=${DEV_APT_COMMAND} \
ADDITIONAL_DEV_APT_COMMAND=${ADDITIONAL_DEV_APT_COMMAND} \
ADDITIONAL_DEV_APT_ENV=""
ADDITIONAL_DEV_APT_ENV=${ADDITIONAL_DEV_APT_ENV}

# Note missing man directories on debian-buster
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863199
Expand Down Expand Up @@ -216,7 +218,7 @@ ENV AIRFLOW_PRE_CACHED_PIP_PACKAGES=${AIRFLOW_PRE_CACHED_PIP_PACKAGES} \
RUN bash /scripts/docker/install_pip_version.sh; \
if [[ ${AIRFLOW_PRE_CACHED_PIP_PACKAGES} == "true" && \
${UPGRADE_TO_NEWER_DEPENDENCIES} == "false" ]]; then \
bash /scripts/docker/install_airflow_from_branch_tip.sh; \
bash /scripts/docker/install_airflow_dependencies_from_branch_tip.sh; \
fi

COPY ${AIRFLOW_SOURCES_FROM} ${AIRFLOW_SOURCES_TO}
Expand All @@ -236,14 +238,11 @@ ARG INSTALL_FROM_PYPI="true"
# * pyjwt<2.0.0: flask-jwt-extended requires it
# * dill<0.3.3 required by apache-beam
ARG EAGER_UPGRADE_ADDITIONAL_REQUIREMENTS="pyjwt<2.0.0 dill<0.3.3 certifi<2021.0.0"
ARG CONTINUE_ON_PIP_CHECK_FAILURE="false"


ENV ADDITIONAL_PYTHON_DEPS=${ADDITIONAL_PYTHON_DEPS} \
INSTALL_FROM_DOCKER_CONTEXT_FILES=${INSTALL_FROM_DOCKER_CONTEXT_FILES} \
INSTALL_FROM_PYPI=${INSTALL_FROM_PYPI} \
EAGER_UPGRADE_ADDITIONAL_REQUIREMENTS=${EAGER_UPGRADE_ADDITIONAL_REQUIREMENTS} \
CONTINUE_ON_PIP_CHECK_FAILURE=${CONTINUE_ON_PIP_CHECK_FAILURE}
EAGER_UPGRADE_ADDITIONAL_REQUIREMENTS=${EAGER_UPGRADE_ADDITIONAL_REQUIREMENTS}

WORKDIR /opt/airflow

Expand Down Expand Up @@ -276,7 +275,7 @@ RUN if [[ -f /docker-context-files/requirements.txt ]]; then \

ARG BUILD_ID
ARG COMMIT_SHA
ARG AIRFLOW_IMAGE_REPOSITORY="https://github.com/apache/airflow"
ARG AIRFLOW_IMAGE_REPOSITORY
ARG AIRFLOW_IMAGE_DATE_CREATED

ENV BUILD_ID=${BUILD_ID} COMMIT_SHA=${COMMIT_SHA}
Expand All @@ -293,15 +292,14 @@ LABEL org.apache.airflow.distro="debian" \
org.opencontainers.image.created=${AIRFLOW_IMAGE_DATE_CREATED} \
org.opencontainers.image.authors="dev@airflow.apache.org" \
org.opencontainers.image.url="https://airflow.apache.org" \
org.opencontainers.image.documentation="https://airflow.apache.org/docs/apache-airflow/stable/production-deployment.html" \
org.opencontainers.image.source="https://github.com/apache/airflow" \
org.opencontainers.image.documentation="https://airflow.apache.org/docs/docker-stack/index.html" \
org.opencontainers.image.version="${AIRFLOW_VERSION}" \
org.opencontainers.image.revision="${COMMIT_SHA}" \
org.opencontainers.image.vendor="Apache Software Foundation" \
org.opencontainers.image.licenses="Apache-2.0" \
org.opencontainers.image.ref.name="airflow-build-image" \
org.opencontainers.image.title="Build Image Segment for Production Airflow Image" \
org.opencontainers.image.description="Installed Apache Airflow with build-time dependencies"
org.opencontainers.image.description="Reference build-time dependencies image for production-ready Apache Airflow image"

##############################################################################################
# This is the actual Airflow image - much smaller than the build one. We copy
Expand Down Expand Up @@ -379,7 +377,7 @@ ARG AIRFLOW_HOME
ARG AIRFLOW_INSTALLATION_METHOD="apache-airflow"
ARG BUILD_ID
ARG COMMIT_SHA
ARG AIRFLOW_IMAGE_REPOSITORY="https://github.com/apache/airflow"
ARG AIRFLOW_IMAGE_REPOSITORY
ARG AIRFLOW_IMAGE_DATE_CREATED
# By default PIP will install everything in ~/.local
ARG PIP_USER="true"
Expand Down Expand Up @@ -468,15 +466,14 @@ LABEL org.apache.airflow.distro="debian" \
org.opencontainers.image.created=${AIRFLOW_IMAGE_DATE_CREATED} \
org.opencontainers.image.authors="dev@airflow.apache.org" \
org.opencontainers.image.url="https://airflow.apache.org" \
org.opencontainers.image.documentation="https://airflow.apache.org/docs/apache-airflow/stable/production-deployment.html" \
org.opencontainers.image.source="https://github.com/apache/airflow" \
org.opencontainers.image.documentation="https://airflow.apache.org/docs/docker-stack/index.html" \
org.opencontainers.image.version="${AIRFLOW_VERSION}" \
org.opencontainers.image.revision="${COMMIT_SHA}" \
org.opencontainers.image.vendor="Apache Software Foundation" \
org.opencontainers.image.licenses="Apache-2.0" \
org.opencontainers.image.ref.name="airflow" \
org.opencontainers.image.title="Production Airflow Image" \
org.opencontainers.image.description="Installed Apache Airflow"
org.opencontainers.image.description="Reference, production-ready Apache Airflow image"


ENTRYPOINT ["/usr/bin/dumb-init", "--", "/entrypoint"]
Expand Down
52 changes: 26 additions & 26 deletions Dockerfile.ci
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ SHELL ["/bin/bash", "-o", "pipefail", "-e", "-u", "-x", "-c"]

ARG PYTHON_BASE_IMAGE="python:3.6-slim-buster"
ARG AIRFLOW_VERSION="2.2.0.dev0"
ARG AIRFLOW_IMAGE_REPOSITORY="https://github.com/apache/airflow"

# By increasing this number we can do force build of all dependencies
ARG DEPENDENCIES_EPOCH_NUMBER="6"

Expand Down Expand Up @@ -126,6 +128,15 @@ ARG RUNTIME_APT_DEPS="\
unzip \
vim \
xxd"

# Install Helm
ARG HELM_VERSION="v3.6.3"

RUN SYSTEM=$(uname -s | tr '[:upper:]' '[:lower:]') \
&& HELM_URL="https://get.helm.sh/helm-${HELM_VERSION}-${SYSTEM}-amd64.tar.gz" \
&& curl --location "${HELM_URL}" | tar -xvz -O "${SYSTEM}"-amd64/helm > /usr/local/bin/helm \
&& chmod +x /usr/local/bin/helm

ARG ADDITIONAL_RUNTIME_APT_DEPS=""
ARG RUNTIME_APT_COMMAND=""
ARG ADDITIONAL_RUNTIME_APT_COMMAND=""
Expand Down Expand Up @@ -219,7 +230,7 @@ ARG AIRFLOW_PRE_CACHED_PIP_PACKAGES="true"
# By default in the image, we are installing all providers when installing from sources
ARG INSTALL_PROVIDERS_FROM_SOURCES="true"
ARG INSTALL_FROM_PYPI="true"
ARG AIRFLOW_PIP_VERSION=21.1.2
ARG AIRFLOW_PIP_VERSION=21.2.2
# Setup PIP
# By default PIP install run without cache to make image smaller
ARG PIP_NO_CACHE_DIR="true"
Expand Down Expand Up @@ -282,7 +293,7 @@ ENV EAGER_UPGRADE_ADDITIONAL_REQUIREMENTS=${EAGER_UPGRADE_ADDITIONAL_REQUIREMENT
RUN bash /scripts/docker/install_pip_version.sh; \
if [[ ${AIRFLOW_PRE_CACHED_PIP_PACKAGES} == "true" && \
${UPGRADE_TO_NEWER_DEPENDENCIES} == "false" ]]; then \
bash /scripts/docker/install_airflow_from_branch_tip.sh; \
bash /scripts/docker/install_airflow_dependencies_from_branch_tip.sh; \
fi

# Generate random hex dump file so that we can determine whether it's faster to rebuild the image
Expand Down Expand Up @@ -311,8 +322,6 @@ COPY setup.cfg ${AIRFLOW_SOURCES}/setup.cfg

COPY airflow/__init__.py ${AIRFLOW_SOURCES}/airflow/__init__.py

ARG CONTINUE_ON_PIP_CHECK_FAILURE="false"

# The goal of this line is to install the dependencies from the most current setup.py from sources
# This will be usually incremental small set of packages in CI optimized build, so it will be very fast
# In non-CI optimized build this will install all dependencies before installing sources.
Expand All @@ -337,11 +346,13 @@ RUN chmod a+x /entrypoint

COPY scripts/docker/load.bash /opt/bats/lib/

# We can copy everything here. The Context is filtered by dockerignore. This makes sure we are not
# copying over stuff that is accidentally generated or that we do not need (such as egg-info)
# if you want to add something that is missing and you expect to see it in the image you can
# add it with ! in .dockerignore next to the airflow, test etc. directories there
COPY . ${AIRFLOW_SOURCES}/
# Additional python deps to install
ARG ADDITIONAL_PYTHON_DEPS=""

RUN bash /scripts/docker/install_pip_version.sh; \
if [[ -n "${ADDITIONAL_PYTHON_DEPS}" ]]; then \
bash /scripts/docker/install_additional_dependencies.sh; \
fi

# Install autocomplete for airflow
RUN if command -v airflow; then \
Expand All @@ -351,27 +362,16 @@ RUN if command -v airflow; then \
# Install autocomplete for Kubectl
RUN echo "source /etc/bash_completion" >> ~/.bashrc

WORKDIR ${AIRFLOW_SOURCES}

# Install Helm
ARG HELM_VERSION="v3.2.4"

RUN SYSTEM=$(uname -s | tr '[:upper:]' '[:lower:]') \
&& HELM_URL="https://get.helm.sh/helm-${HELM_VERSION}-${SYSTEM}-amd64.tar.gz" \
&& curl --location "${HELM_URL}" | tar -xvz -O "${SYSTEM}"-amd64/helm > /usr/local/bin/helm \
&& chmod +x /usr/local/bin/helm

# Additional python deps to install
ARG ADDITIONAL_PYTHON_DEPS=""
# We can copy everything here. The Context is filtered by dockerignore. This makes sure we are not
# copying over stuff that is accidentally generated or that we do not need (such as egg-info)
# if you want to add something that is missing and you expect to see it in the image you can
# add it with ! in .dockerignore next to the airflow, test etc. directories there
COPY . ${AIRFLOW_SOURCES}/

RUN bash /scripts/docker/install_pip_version.sh; \
if [[ -n "${ADDITIONAL_PYTHON_DEPS}" ]]; then \
bash /scripts/docker/install_additional_dependencies.sh; \
fi
WORKDIR ${AIRFLOW_SOURCES}

ARG BUILD_ID
ARG COMMIT_SHA
ARG AIRFLOW_IMAGE_REPOSITORY="https://github.com/apache/airflow"
ARG AIRFLOW_IMAGE_DATE_CREATED

ENV PATH="/files/bin/:/opt/airflow/scripts/in_container/bin/:${HOME}:${PATH}" \
Expand Down
6 changes: 0 additions & 6 deletions IMAGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -445,12 +445,6 @@ The following build arguments (``--build-arg`` in docker build command) can be u
| | | upgraded to newer versions matching |
| | | setup.py before installation. |
+------------------------------------------+------------------------------------------+------------------------------------------+
| ``CONTINUE_ON_PIP_CHECK_FAILURE`` | ``false`` | By default the image will fail if pip |
| | | check fails for it. This is good for |
| | | interactive building but on CI the |
| | | image should be built regardless - we |
| | | have a separate step to verify image. |
+------------------------------------------+------------------------------------------+------------------------------------------+
| ``AIRFLOW_PRE_CACHED_PIP_PACKAGES`` | ``true`` | Allows to pre-cache airflow PIP packages |
| | | from the GitHub of Apache Airflow |
| | | This allows to optimize iterations for |
Expand Down
5 changes: 5 additions & 0 deletions INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -104,3 +104,8 @@ ssh, statsd, tableau, telegram, trino, vertica, virtualenv, webhdfs, winrm, yand
# END EXTRAS HERE

# For installing Airflow in development environments - see CONTRIBUTING.rst

# COMPILING FRONT-END ASSETS (in case you see "Please make sure to build the frontend in static/ directory and then restart the server")
# Optional : Installing yarn - https://classic.yarnpkg.com/en/docs/install

python setup.py compile_assets
Loading