Build normal/backport providers based on correct list (#12848)

This was using the backport list when trying to build the normal list,
leading to papermill package not getting built.

I have re-introduced the exit removed in #12841, and also done a little
bit of drive-by-tidying
This commit is contained in:
Ash Berlin-Taylor 2020-12-06 12:45:07 +00:00 коммит произвёл GitHub
Родитель c960a9fd86
Коммит 82dfa5f74b
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 49 добавлений и 20 удалений

Просмотреть файл

@ -79,18 +79,24 @@ function discover_all_provider_packages() {
echo Listing available providers via 'airflow providers list' echo Listing available providers via 'airflow providers list'
echo echo
airflow providers list # Columns is to force it wider, so it doesn't wrap at 80 characters
COLUMNS=180 airflow providers list
local expected_number_of_providers=60 local expected_number_of_providers=61
local actual_number_of_providers local actual_number_of_providers
actual_number_of_providers=$(airflow providers list --output table | grep -c apache-airflow-providers | xargs) actual_providers=$(airflow providers list --output yaml | grep package_name)
if [[ ${actual_number_of_providers} != "${expected_number_of_providers}" ]]; then actual_number_of_providers=$(wc -l <<<"$actual_providers")
if [[ "${actual_number_of_providers}" != "${expected_number_of_providers}" ]]; then
echo echo
echo "${COLOR_RED_ERROR} Number of providers installed is wrong ${COLOR_RESET}" echo "${COLOR_RED_ERROR}Number of providers installed is wrong${COLOR_RESET}"
echo "Expected number was '${expected_number_of_providers}' and got '${actual_number_of_providers}'" echo "Expected number was '${expected_number_of_providers}' and got '${actual_number_of_providers}'"
echo echo
echo "Either increase the number of providers if you added one or diagnose and fix the problem." echo "Either increase the number of providers if you added one or diagnose and fix the problem."
echo echo
echo "Providers were:"
echo
echo "$actual_providers"
exit 1
fi fi
} }
@ -111,6 +117,7 @@ function discover_all_hooks() {
echo echo
echo "Either increase the number of hooks if you added one or diagnose and fix the problem." echo "Either increase the number of hooks if you added one or diagnose and fix the problem."
echo echo
exit 1
fi fi
} }
@ -131,6 +138,7 @@ function discover_all_extra_links() {
echo echo
echo "Either increase the number of links if you added one or diagnose and fix the problem." echo "Either increase the number of links if you added one or diagnose and fix the problem."
echo echo
exit 1
fi fi
} }

Просмотреть файл

@ -20,12 +20,7 @@
setup_provider_packages setup_provider_packages
LIST_OF_DIRS_FILE=$(mktemp)
cd "${AIRFLOW_SOURCES}/airflow/providers" || exit 1
find . -type d | sed 's/.\///; s/\//\./g' | grep -E 'hooks|operators|sensors|secrets|utils' \
> "${LIST_OF_DIRS_FILE}"
cd "${AIRFLOW_SOURCES}/provider_packages" || exit 1 cd "${AIRFLOW_SOURCES}/provider_packages" || exit 1
@ -34,12 +29,25 @@ REFACTOR_PROVIDER_PACKAGES_PY="${AIRFLOW_SOURCES}/dev/provider_packages/refactor
verify_suffix_versions_for_package_preparation verify_suffix_versions_for_package_preparation
if [[ -z "$*" ]]; then if [[ ${BACKPORT_PACKAGES} == "true" ]]; then
PROVIDERS_PACKAGES=$(python3 "${PREPARE_PROVIDER_PACKAGES_PY}" list-providers-packages) list_subcmd="list-backportable-packages"
else
list_subcmd="list-providers-packages"
fi
function check_missing_providers() {
PACKAGE_ERROR="false" PACKAGE_ERROR="false"
pushd "${AIRFLOW_SOURCES}/airflow/providers" >/dev/null || exit 1
LIST_OF_DIRS_FILE=$(mktemp)
find . -type d | sed 's!./!!; s!/!.!g' | grep -E 'hooks|operators|sensors|secrets|utils' \
> "${LIST_OF_DIRS_FILE}"
popd >/dev/null
# Check if all providers are included # Check if all providers are included
for PACKAGE in ${PROVIDERS_PACKAGES} for PACKAGE in "${PROVIDER_PACKAGES[@]}"
do do
if ! grep -E "^${PACKAGE}" <"${LIST_OF_DIRS_FILE}" >/dev/null; then if ! grep -E "^${PACKAGE}" <"${LIST_OF_DIRS_FILE}" >/dev/null; then
echo "The package ${PACKAGE} is not available in providers dir" echo "The package ${PACKAGE} is not available in providers dir"
@ -54,16 +62,30 @@ if [[ -z "$*" ]]; then
exit 1 exit 1
fi fi
NUM_LINES=$(wc -l "${LIST_OF_DIRS_FILE}" | awk '{ print $1 }') if [[ $(wc -l < "${LIST_OF_DIRS_FILE}") != "0" ]]; then
if [[ ${NUM_LINES} != "0" ]]; then
echo "ERROR! Some folders from providers package are not defined" echo "ERROR! Some folders from providers package are not defined"
echo " Please add them to dev/provider_packages/prepare_provider_packages.py:" echo " Please add them to dev/provider_packages/prepare_provider_packages.py:"
echo echo
cat "${LIST_OF_DIRS_FILE}" cat "${LIST_OF_DIRS_FILE}"
echo echo
rm "$LIST_OF_DIRS_FILE"
exit 1 exit 1
fi fi
PROVIDER_PACKAGES=$(python3 "${PREPARE_PROVIDER_PACKAGES_PY}" list-backportable-packages) rm "$LIST_OF_DIRS_FILE"
}
if [[ -z "$*" ]]; then
PROVIDER_PACKAGES=()
while IFS='' read -r line; do PROVIDER_PACKAGES+=("$line"); done < <(
python3 "${PREPARE_PROVIDER_PACKAGES_PY}" "$list_subcmd"
)
if [[ "$BACKPORT_PACKAGES" != "true" ]]; then
# Don't check for missing packages when we are building backports -- we have filtered someout, and the
# non-backport build will check for any missing.
check_missing_providers
fi
else else
if [[ "$1" == "--help" ]]; then if [[ "$1" == "--help" ]]; then
echo echo
@ -76,7 +98,7 @@ else
echo echo
exit exit
fi fi
PROVIDER_PACKAGES="$*" PROVIDER_PACKAGES=("$@")
fi fi
if [[ ${BACKPORT_PACKAGES} == "true" ]]; then if [[ ${BACKPORT_PACKAGES} == "true" ]]; then
@ -93,10 +115,9 @@ python3 "${REFACTOR_PROVIDER_PACKAGES_PY}"
rm -rf dist/* rm -rf dist/*
for PROVIDER_PACKAGE in ${PROVIDER_PACKAGES} for PROVIDER_PACKAGE in "${PROVIDER_PACKAGES[@]}"
do do
rm -rf -- *.egg-info rm -rf -- *.egg-info build/
rm -rf build/
LOG_FILE=$(mktemp) LOG_FILE=$(mktemp)
python3 "${PREPARE_PROVIDER_PACKAGES_PY}" generate-setup-files "${PROVIDER_PACKAGE}" python3 "${PREPARE_PROVIDER_PACKAGES_PY}" generate-setup-files "${PROVIDER_PACKAGE}"
echo "===================================================================================" echo "==================================================================================="