From 74650bcf91ff3be3482406ee102446e2ad3e608f Mon Sep 17 00:00:00 2001 From: praveenkuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Mon, 9 Mar 2020 12:50:37 -0700 Subject: [PATCH] Fix to handle regression test when package is missing on PyPI (#10180) * Add exception handling to handle when package is missing on PyPI --- scripts/devops_tasks/common_tasks.py | 6 +++++- scripts/devops_tasks/git_helper.py | 11 ++++++++--- sdk/core/azure-core/dev_requirements.txt | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/scripts/devops_tasks/common_tasks.py b/scripts/devops_tasks/common_tasks.py index 397e4e4b155b9..dc1380a1177be 100644 --- a/scripts/devops_tasks/common_tasks.py +++ b/scripts/devops_tasks/common_tasks.py @@ -386,7 +386,11 @@ def filter_dev_requirements(pkg_root_path, packages_to_exclude, dest_dir): def is_required_version_on_pypi(package_name, spec): from pypi_tools.pypi import PyPIClient client = PyPIClient() - versions = [str(v) for v in client.get_ordered_versions(package_name) if str(v) in spec] + versions = [] + try: + versions = [str(v) for v in client.get_ordered_versions(package_name) if str(v) in spec] + except: + logging.error("Package {} is not found on PyPI", package_name) return versions def find_packages_missing_on_pypi(path): diff --git a/scripts/devops_tasks/git_helper.py b/scripts/devops_tasks/git_helper.py index d696d92033048..189872ac3cbb4 100644 --- a/scripts/devops_tasks/git_helper.py +++ b/scripts/devops_tasks/git_helper.py @@ -30,15 +30,20 @@ def get_release_tag(dep_pkg_name, isLatest): from pypi_tools.pypi import PyPIClient client = PyPIClient() - versions = [str(v) for v in client.get_ordered_versions(dep_pkg_name)] - logging.info("Versions for {0} is: {1}".format(dep_pkg_name, versions)) + versions = [] + try: + versions = [str(v) for v in client.get_ordered_versions(dep_pkg_name)] + logging.info("Versions available on PyPI for {0} are: {1}".format(dep_pkg_name, versions)) + except: + logging.error("Package {} is not available on PyPI".format(dep_pkg_name)) + return None # filter excluded versions if dep_pkg_name in EXCLUDED_PACKAGE_VERSIONS: versions = [v for v in versions if v not in EXCLUDED_PACKAGE_VERSIONS[dep_pkg_name]] logging.info("Filtered versions for {0} is: {1}".format(dep_pkg_name, versions)) - if len(versions) == 0: + if not versions: logging.info( "Released version info for package {} is not available".format(dep_pkg_name) ) diff --git a/sdk/core/azure-core/dev_requirements.txt b/sdk/core/azure-core/dev_requirements.txt index b90c3caa146b0..8b52ac11404e7 100644 --- a/sdk/core/azure-core/dev_requirements.txt +++ b/sdk/core/azure-core/dev_requirements.txt @@ -6,4 +6,4 @@ typing_extensions>=3.7.2 opencensus>=0.6.0 opencensus-ext-azure>=0.3.1 opencensus-ext-threading -mock \ No newline at end of file +mock