Skip to content

Commit 9137740

Browse files
authored
Add libgeos-dev to dev dependencies in CI image (#31437)
When running some Mlengine tests, pytest (when running assert rewrite) attempts to load libgeos-dev library, which breaks collection of some Google Provider tests on ARM image (it is used by Shapely library imported by recent BigQuery library) This PR Adds the library as preinstalled in the CI image.
1 parent 1bc791e commit 9137740

File tree

4 files changed

+15
-23
lines changed

4 files changed

+15
-23
lines changed

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ fi
9494
function get_dev_apt_deps() {
9595
if [[ "${DEV_APT_DEPS=}" == "" ]]; then
9696
DEV_APT_DEPS="apt-transport-https apt-utils build-essential ca-certificates dirmngr \
97-
freetds-bin freetds-dev git gosu graphviz graphviz-dev krb5-user ldap-utils libffi-dev \
97+
freetds-bin freetds-dev git gosu graphviz graphviz-dev krb5-user ldap-utils libffi-dev libgeos-dev \
9898
libkrb5-dev libldap2-dev libleveldb1d libleveldb-dev libsasl2-2 libsasl2-dev libsasl2-modules \
9999
libssl-dev locales lsb-release openssh-client sasl2-bin \
100100
software-properties-common sqlite3 sudo unixodbc unixodbc-dev"

Dockerfile.ci

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ fi
5454
function get_dev_apt_deps() {
5555
if [[ "${DEV_APT_DEPS=}" == "" ]]; then
5656
DEV_APT_DEPS="apt-transport-https apt-utils build-essential ca-certificates dirmngr \
57-
freetds-bin freetds-dev git gosu graphviz graphviz-dev krb5-user ldap-utils libffi-dev \
57+
freetds-bin freetds-dev git gosu graphviz graphviz-dev krb5-user ldap-utils libffi-dev libgeos-dev \
5858
libkrb5-dev libldap2-dev libleveldb1d libleveldb-dev libsasl2-2 libsasl2-dev libsasl2-modules \
5959
libssl-dev locales lsb-release openssh-client sasl2-bin \
6060
software-properties-common sqlite3 sudo unixodbc unixodbc-dev"
@@ -1233,12 +1233,11 @@ ENV PYTHON_BASE_IMAGE=${PYTHON_BASE_IMAGE} \
12331233

12341234
RUN echo "Base image version: ${PYTHON_BASE_IMAGE}"
12351235

1236-
ARG ADDITIONAL_DEV_APT_DEPS="git graphviz gosu libpq-dev netcat rsync"
12371236
ARG DEV_APT_COMMAND=""
12381237
ARG ADDITIONAL_DEV_APT_COMMAND=""
12391238
ARG ADDITIONAL_DEV_ENV_VARS=""
12401239
ARG ADDITIONAL_DEV_APT_DEPS="bash-completion dumb-init git graphviz gosu krb5-user \
1241-
less libenchant-2-2 libgcc-10-dev libpq-dev net-tools netcat \
1240+
less libenchant-2-2 libgcc-10-dev libgeos-dev libpq-dev net-tools netcat \
12421241
openssh-server postgresql-client software-properties-common rsync tmux unzip vim xxd"
12431242

12441243
ARG ADDITIONAL_DEV_APT_ENV=""

scripts/docker/install_os_dependencies.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ fi
3636
function get_dev_apt_deps() {
3737
if [[ "${DEV_APT_DEPS=}" == "" ]]; then
3838
DEV_APT_DEPS="apt-transport-https apt-utils build-essential ca-certificates dirmngr \
39-
freetds-bin freetds-dev git gosu graphviz graphviz-dev krb5-user ldap-utils libffi-dev \
39+
freetds-bin freetds-dev git gosu graphviz graphviz-dev krb5-user ldap-utils libffi-dev libgeos-dev \
4040
libkrb5-dev libldap2-dev libleveldb1d libleveldb-dev libsasl2-2 libsasl2-dev libsasl2-modules \
4141
libssl-dev locales lsb-release openssh-client sasl2-bin \
4242
software-properties-common sqlite3 sudo unixodbc unixodbc-dev"

scripts/in_container/verify_providers.py

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import logging
2222
import os
2323
import pkgutil
24-
import platform
2524
import re
2625
import subprocess
2726
import sys
@@ -280,23 +279,17 @@ def onerror(_):
280279
try:
281280
with warnings.catch_warnings(record=True) as w:
282281
warnings.filterwarnings("always", category=DeprecationWarning)
283-
try:
284-
_module = importlib.import_module(modinfo.name)
285-
for attribute_name in dir(_module):
286-
class_name = modinfo.name + "." + attribute_name
287-
attribute = getattr(_module, attribute_name)
288-
if isclass(attribute):
289-
imported_classes.append(class_name)
290-
if isclass(attribute) and (
291-
issubclass(attribute, logging.Handler)
292-
or issubclass(attribute, BaseSecretsBackend)
293-
):
294-
classes_with_potential_circular_import.append(class_name)
295-
except OSError as e:
296-
if "geos_c" in str(e) and platform.machine() in ("aarch64", "arm64"):
297-
# we ignore the missing geos_c library on Apple Silicon
298-
continue
299-
raise
282+
_module = importlib.import_module(modinfo.name)
283+
for attribute_name in dir(_module):
284+
class_name = modinfo.name + "." + attribute_name
285+
attribute = getattr(_module, attribute_name)
286+
if isclass(attribute):
287+
imported_classes.append(class_name)
288+
if isclass(attribute) and (
289+
issubclass(attribute, logging.Handler)
290+
or issubclass(attribute, BaseSecretsBackend)
291+
):
292+
classes_with_potential_circular_import.append(class_name)
300293
if w:
301294
all_warnings.extend(w)
302295
except AirflowOptionalProviderFeatureException:

0 commit comments

Comments
 (0)