Repository navigation
Fix Windows test steps that never ran and the Windows conda cache path - #288
Merged
Merged
Conversation
The Windows test jobs in conda-package.yml and conda-package-cf.yml run
their steps with `cmd /C CALL {0}` and invoked `conda activate` without
CALL. conda is a batch file, and running a batch file from another one
without CALL never returns, so everything after it in the step was
skipped: the smoke test and pytest never ran, and the steps still
passed. Prefix the conda calls in those steps with CALL.
The Windows build and test jobs also cached /home/runner/conda_pkgs_dir,
which does not exist on Windows runners, so the cache was never saved.
Point it at ~/conda_pkgs_dir, where setup-miniconda keeps packages.
antonwolfy
requested review from
jharlow-intel and
vlad-perevezentsev
as code owners
October 16, 2026 13:32
jharlow-intel
approved these changes
Oct 16, 2026
jharlow-intel
left a comment
Collaborator
There was a problem hiding this comment.
Thanks, great catch! The commit message explains the batch-file CALL trap clearly, and the Windows job logs now show pytest actually running (392 passed) and the conda cache being saved, where main skipped both silently.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Windows test jobs in
conda-package.ymlandconda-package-cf.ymlhave not been running any tests: the smoke test andpyteststeps are skipped, and the steps still pass. The Windows conda package cache was never saved either. Both problems already exist onmain, and a run from 2026-08-07 already shows the skipped steps.Why the tests did not run
The
test_windowssteps run withshell: cmd /C CALL {0}, and the script callsconda activate ...withoutCALL. On Windowscondais a batch file (conda.bat), and running a batch file from another one withoutCALLnever returns. So every command after the firstcondacall in the step is skipped:python -c "import mkl_umath ..."never runspython -m pytest -v -s --pyargs mkl_umathnever runsecholines andconda info && conda listnever runThe logs show it: the step echoes
D:\a\mkl_umath\mkl_umath>conda activate test_mkl_umathand nothing after it, and there is no pytest output on Windows, while the Linux test jobs report392 passed, 1 skipped.Changes
In both workflows (
test_windowsonly):condacalls in the three steps above withCALL.python/python -m pytestis now the last command of its step, so a failure fails the job.build_windowsandtest_windowscache steps at~/conda_pkgs_dir, setup-miniconda's package directory (the logs show packages inC:\Users\runneradmin\conda_pkgs_dir), instead of/home/runner/conda_pkgs_dir, which does not exist on Windows runners. Every Windows job currently logs "Path Validation Error" and "Cache not found".The
conda activatecalls inbuild_windowsare unchanged: those steps run under the defaultpwshshell, whereconda activateis a PowerShell function and returns normally.Notes
use-only-tar-bz2: truefor caching. It is not set here because most conda-forge packages are now published only as.conda; the Linux jobs already cache~/.conda/pkgswithout it.