Conda build inside docker container fails

Viewed 603

I am trying to integrate my anaconda package build system with Codeship CI/CD service, therefore I need my build process to happen inside a Docker container. Currently my Dockerfile looks like so:


FROM continuumio/miniconda3

COPY . .
RUN conda create --yes --name build-env python=3.8 \
    && conda install -n build-env conda-build -y \
    && conda run -n build-env conda-build --channel haasad .

RUN conda create --yes --name testing-env python=3.8 \
    && conda install -n testing-env --use-local sten -c haasad \
    && conda install -n testing-env -c anaconda pytest

When the build runs, the following error occurs:

/opt/conda/envs/build-env/conda-bld/chardet_1591782226225/work/conda_build.sh: line 4: /tmp/build/80754af9/chardet_1573033772973/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/python: No such file or directory
Traceback (most recent call last):
  File "/opt/conda/envs/build-env/bin/conda-build", line 11, in <module>
    sys.exit(main())
  File "/opt/conda/envs/build-env/lib/python3.8/site-packages/conda_build/cli/main_build.py", line 469, in main
    execute(sys.argv[1:])
  File "/opt/conda/envs/build-env/lib/python3.8/site-packages/conda_build/cli/main_build.py", line 458, in execute
    outputs = api.build(args.recipe, post=args.post, build_only=args.build_only,
  File "/opt/conda/envs/build-env/lib/python3.8/site-packages/conda_build/api.py", line 208, in build
    return build_tree(absolute_recipes, config, stats, build_only=build_only, post=post,
  File "/opt/conda/envs/build-env/lib/python3.8/site-packages/conda_build/build.py", line 2339, in build_tree
    packages_from_this = build(metadata, stats,
  File "/opt/conda/envs/build-env/lib/python3.8/site-packages/conda_build/build.py", line 1491, in build
    utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env,
  File "/opt/conda/envs/build-env/lib/python3.8/site-packages/conda_build/utils.py", line 398, in check_call_env
    return _func_defaulting_env_to_os_environ('call', *popenargs, **kwargs)
  File "/opt/conda/envs/build-env/lib/python3.8/site-packages/conda_build/utils.py", line 378, in _func_defaulting_env_to_os_environ
    raise subprocess.CalledProcessError(proc.returncode, _args)
subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/envs/build-env/conda-bld/chardet_1591782226225/work/conda_build.sh']' returned non-zero exit status 127.

The repo

How to fix this and what am I doing wrong?

0 Answers
Related