Open gforsyth opened 3 years ago
I was just trying to cut a new release of xonsh and ran into this -- took me a while to track it down.
xonsh
Someone added a --pre specifier to our requirements.txt, which, on any rever activity that requires building a docker container fails now with
--pre
requirements.txt
EnvironmentLocationNotFound: Not a conda environment: /root/black The command '/bin/sh -c wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && /bin/bash ~/miniconda.sh -b -p /opt/conda && rm ~/miniconda.sh && /opt/conda/bin/conda clean -tipsy && ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && echo "conda activate base" >> ~/.bashrc && conda config --set always_yes yes && conda config --add channels conda-forge && conda update --all && conda install --pre black cloud_sptheme codecov coverage doctr flake8 flake8-docstrings livereload matplotlib mypy numpy numpydoc pip pre-commit prompt_toolkit psutil py pygments pytest pytest-cov pytest-timeout pyzmq runthis-sphinxext sphinx tornado && conda clean --all && conda info' returned a non-zero code: 1 activity-error:pytest:activity failed with execption: Traceback (most recent call last): File "/opt/miniconda3/envs/rever/lib/python3.8/site-packages/rever/activity.xsh", line 83, in __call__ self.func(*args, **kwargs) File "/opt/miniconda3/envs/rever/lib/python3.8/site-packages/rever/activities/pytest.xsh", line 27, in _func super()._func(code=command) File "/opt/miniconda3/envs/rever/lib/python3.8/site-packages/rever/activity.xsh", line 401, in _func docker.ensure_images(force_base=force_base, force_install=force_install) File "/opt/miniconda3/envs/rever/lib/python3.8/site-packages/rever/docker.xsh", line 284, in ensure_images build_image(base_file, base_image, make_base_dockerfile, **base_kwargs) File "/opt/miniconda3/envs/rever/lib/python3.8/site-packages/rever/docker.xsh", line 262, in build_image ![docker build -t @(image) -f @(dockerfile) --no-cache .] File "/opt/miniconda3/envs/rever/lib/python3.8/site-packages/xonsh/__amalgam__.py", line 20791, in subproc_captured_hiddenobject return xonsh.procs.specs.run_subproc(cmds, captured="hiddenobject", envs=envs) File "/opt/miniconda3/envs/rever/lib/python3.8/site-packages/xonsh/procs/__amalgam__.py", line 3494, in run_subproc command.end() File "/opt/miniconda3/envs/rever/lib/python3.8/site-packages/xonsh/procs/__amalgam__.py", line 907, in end self._end(tee_output=tee_output) File "/opt/miniconda3/envs/rever/lib/python3.8/site-packages/xonsh/procs/__amalgam__.py", line 926, in _end self._raise_subproc_error() File "/opt/miniconda3/envs/rever/lib/python3.8/site-packages/xonsh/procs/__amalgam__.py", line 1052, in _raise_subproc_error raise subprocess.CalledProcessError(rtn, spec.args, output=self.output) subprocess.CalledProcessError: Command '['docker', 'build', '-t', 'xonsh/rever-base', '-f', 'rever/rever-base.dockerfile', '--no-cache', '.']' returned non-zero exit status 1. rewinding to d3eda8e90bafe4edfc712c1038dec4b8267280e0
The --pre survives into the rever-base.dockerfile and ends up as
rever-base.dockerfile
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && \ /bin/bash ~/miniconda.sh -b -p /opt/conda && \ rm ~/miniconda.sh && \ /opt/conda/bin/conda clean -tipsy && \ ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \ echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && \ echo "conda activate base" >> ~/.bashrc && \ conda config --set always_yes yes && \ conda config --add channels conda-forge && \ conda update --all && \ conda install \ --pre black cloud_sptheme codecov coverage doctr flake8 \ flake8-docstrings livereload matplotlib mypy numpy numpydoc \ pip pre-commit prompt_toolkit psutil py pygments pytest \ pytest-cov pytest-timeout pyzmq runthis-sphinxext sphinx \ tornado && \ conda clean --all && \ conda info
Note the --pre in the conda install line. Clearly this does something weird that then breaks the build.
conda install
Workaround is to remove --pre.
I was just trying to cut a new release of
xonsh
and ran into this -- took me a while to track it down.Someone added a
--pre
specifier to ourrequirements.txt
, which, on any rever activity that requires building a docker container fails now withThe
--pre
survives into therever-base.dockerfile
and ends up asNote the
--pre
in theconda install
line. Clearly this does something weird that then breaks the build.Workaround is to remove
--pre
.