Skip to content

Commit 4b71cbe

Browse files
authored
Ensure that azpysdk checks are dispatched with correct working directory (#42948)
1 parent cd70141 commit 4b71cbe

File tree

7 files changed

+13
-12
lines changed

7 files changed

+13
-12
lines changed

eng/tools/azure-sdk-tools/azpysdk/Check.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ def create_venv(self, isolate: bool, venv_location: str) -> str:
6565

6666
# TODO: we should reuse part of build_whl_for_req to integrate with PREBUILT_WHL_DIR so that we don't have to fresh build for each
6767
# venv
68-
install_into_venv(venv_location, [os.path.join(REPO_ROOT, "eng/tools/azure-sdk-tools[build]")])
68+
install_into_venv(venv_location, [os.path.join(REPO_ROOT, "eng/tools/azure-sdk-tools[build]")], REPO_ROOT)
6969
venv_python_exe = get_venv_python(venv_location)
7070

7171
return venv_python_exe

eng/tools/azure-sdk-tools/azpysdk/black.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def run(self, args: argparse.Namespace) -> int:
4848

4949
# install black
5050
try:
51-
install_into_venv(executable, [f"black=={BLACK_VERSION}"])
51+
install_into_venv(executable, [f"black=={BLACK_VERSION}"], package_dir)
5252
except CalledProcessError as e:
5353
logger.error("Failed to install black:", e)
5454
return e.returncode

eng/tools/azure-sdk-tools/azpysdk/mypy.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@ def run(self, args: argparse.Namespace) -> int:
6666
try:
6767
if args.next:
6868
# use latest version of mypy
69-
install_into_venv(executable, ["mypy"] + additional_requirements)
69+
install_into_venv(executable, ["mypy"] + additional_requirements, package_dir)
7070
else:
71-
install_into_venv(executable, [f"mypy=={MYPY_VERSION}"] + additional_requirements)
71+
install_into_venv(executable, [f"mypy=={MYPY_VERSION}"] + additional_requirements, package_dir)
7272
except CalledProcessError as e:
7373
logger.error("Failed to install mypy:", e)
7474
return e.returncode

eng/tools/azure-sdk-tools/azpysdk/pylint.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def register(self, subparsers: "argparse._SubParsersAction", parent_parsers: Opt
2929
"--next",
3030
default=False,
3131
help="Next version of pylint is being tested.",
32-
required=False,
32+
required=False,
3333
)
3434

3535
def run(self, args: argparse.Namespace) -> int:
@@ -49,7 +49,7 @@ def run(self, args: argparse.Namespace) -> int:
4949

5050
# install dependencies
5151
try:
52-
install_into_venv(executable, ["azure-pylint-guidelines-checker==0.5.6", "--index-url=https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/"])
52+
install_into_venv(executable, ["azure-pylint-guidelines-checker==0.5.6", "--index-url=https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/"], package_dir)
5353
except CalledProcessError as e:
5454
logger.error("Failed to install dependencies:", e)
5555
return e.returncode
@@ -58,9 +58,9 @@ def run(self, args: argparse.Namespace) -> int:
5858
try:
5959
if args.next:
6060
# use latest version of pylint
61-
install_into_venv(executable, ["pylint"])
61+
install_into_venv(executable, ["pylint"], package_dir)
6262
else:
63-
install_into_venv(executable, [f"pylint=={PYLINT_VERSION}"])
63+
install_into_venv(executable, [f"pylint=={PYLINT_VERSION}"], package_dir)
6464
except CalledProcessError as e:
6565
logger.error("Failed to install pylint:", e)
6666
return e.returncode

eng/tools/azure-sdk-tools/azpysdk/sphinx.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ def run(self, args: argparse.Namespace) -> int:
280280
try:
281281
if args.next:
282282
install_into_venv(
283-
executable, ["sphinx", "sphinx_rtd_theme", "myst_parser", "sphinxcontrib-jquery"],
283+
executable, ["sphinx", "sphinx_rtd_theme", "myst_parser", "sphinxcontrib-jquery"], package_dir
284284
)
285285
else:
286286
install_into_venv(
@@ -291,6 +291,7 @@ def run(self, args: argparse.Namespace) -> int:
291291
f"myst_parser=={MYST_PARSER_VERSION}",
292292
f"sphinxcontrib-jquery=={SPHINX_CONTRIB_JQUERY_VERSION}",
293293
],
294+
package_dir
294295
)
295296
except CalledProcessError as e:
296297
logger.error("Failed to install sphinx:", e)

eng/tools/azure-sdk-tools/azpysdk/whl.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def run(self, args: argparse.Namespace) -> int:
4545

4646
if os.path.exists(dev_requirements):
4747
print(f"Installing dev_requirements at {dev_requirements}")
48-
install_into_venv(executable, [f"{dev_requirements}"])
48+
install_into_venv(executable, [f"{dev_requirements}"], pkg)
4949
else:
5050
print("Skipping installing dev_requirements")
5151

eng/tools/azure-sdk-tools/ci_tools/functions.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ def get_venv_python(venv_path: str) -> str:
509509

510510

511511
def install_into_venv(
512-
venv_path_or_executable: str, requirements: List[str]
512+
venv_path_or_executable: str, requirements: List[str], working_directory: str
513513
) -> None:
514514
"""
515515
Install the requirements into an existing venv (venv_path) without activating it.
@@ -528,7 +528,7 @@ def install_into_venv(
528528
cmd += ["--python", py]
529529

530530
# todo: clean this up so that we're using run_logged from #42862
531-
subprocess.check_call(cmd)
531+
subprocess.check_call(cmd, cwd=working_directory)
532532

533533

534534
def pip_install_requirements_file(requirements_file: str, python_executable: Optional[str] = None) -> bool:

0 commit comments

Comments
 (0)