Skip to content

Tests are taking a long time to run #219

@espg

Description

@espg

Recently, our CI/CD test framework has increased to 25 to 30 minutes to run all tests (it was previously 3 to 6 minutes).

The hang is happening here:

Run conda env update --file environment.yml --name base
  conda env update --file environment.yml --name base
  shell: /usr/bin/bash -e {0}
  env:
    pythonLocation: /opt/hostedtoolcache/Python/3.10.17/x64
    LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.17/x64/lib
/usr/share/miniconda/lib/python3.13/argparse.py:1[2](https://github.com/demiangomez/Parallel.GAMIT/actions/runs/15217355441/job/42805812758?pr=218#step:5:2)55: FutureWarning: `remote_definition` is deprecated and will be removed in 25.9. Use `conda env create --file=URL` instead.
  subnamespace, arg_strings = subparser.parse_known_args(arg_strings, None)
Channels:
 - defaults
 - conda-forge
Platform: linux-6[4](https://github.com/demiangomez/Parallel.GAMIT/actions/runs/15217355441/job/42805812758?pr=218#step:5:4)

This is not a result of any of our actual testing-- the image build is what is taking longer. This likely related to one of two issues:

  1. We've added a new dependency recently which is causing conda to hang while it figures out how to resolve it.
  2. The depreciation warning is a sign of something in the upstream build process which has changed, and using the depreciated version is now causing lag.

Here are possible fixes that we should look at to fix this:

  1. Check if we've added any new dependencies recently. We could potentially remove them (if not needed for the library code), or change how they are being installed (i.e., have them install via pip rather than conda to avoid the conda solver).
  2. Investigate and fix the depreciation warning within our github action configuration. This should probably be done at some point independently of if it is causing the slowdown, since we are being told it will convert from a warning to an error in the future.
  3. Switch our build environment from conda to mamba. Conda is notoriously slow, which is why mamba exists. Alternatively, we could look at building purely by pip instead of conda or mamba... although I think we needed something beyond pip for non-python dependencies, so switching to mamba likely makes the most sense here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions