diff --git a/.gitlab-ci.Dockerfile.conda b/.gitlab-ci.Dockerfile.conda index 5b64fc8605117a54f568fa27337265efa54c4dc5..ee4b4e9bd6792e5ccb503cdbc1b46d8484702fe2 100644 --- a/.gitlab-ci.Dockerfile.conda +++ b/.gitlab-ci.Dockerfile.conda @@ -18,57 +18,57 @@ COPY gstlal-ugly /gstlal-ugly COPY gstlal-inspiral /gstlal-inspiral COPY gstlal-burst /gstlal-burst -# Switch to bash shell +# Make RUN commands use bash: SHELL ["/bin/bash", "-c"] # Install gstlal -RUN . /opt/conda/etc/profile.d/conda.sh && \ - conda activate base && \ - export PREFIX="/opt/conda" && \ +RUN . $CONDA_PREFIX/etc/profile.d/conda.sh && \ + conda activate build-env && \ + export PREFIX="$CONDA_PREFIX" && \ export CONDA_BUILD="1" && \ - conda activate base && \ + conda activate build-env && \ cd /gstlal && \ ./00init.sh && \ - ./configure --prefix=/opt/conda --without-doxygen && \ + ./configure --prefix=$CONDA_PREFIX --without-doxygen && \ make -j$NUM_CORES && \ make install -j$NUM_CORES RUN rm -rf gstlal # Install gstlal-ugly -RUN . /opt/conda/etc/profile.d/conda.sh && \ - conda activate base && \ - export PREFIX="/opt/conda" && \ +RUN . $CONDA_PREFIX/etc/profile.d/conda.sh && \ + conda activate build-env && \ + export PREFIX="$CONDA_PREFIX" && \ export CONDA_BUILD="1" && \ - conda activate base && \ + conda activate build-env && \ cd /gstlal-ugly && \ ./00init.sh && \ - ./configure --prefix=/opt/conda --without-doxygen --without-gds && \ + ./configure --prefix=$CONDA_PREFIX --without-doxygen --without-gds && \ make -j$NUM_CORES && \ make install -j$NUM_CORES RUN rm -rf gstlal-ugly # Install gstlal-burst -RUN . /opt/conda/etc/profile.d/conda.sh && \ - conda activate base && \ - export PREFIX="/opt/conda" && \ +RUN . $CONDA_PREFIX/etc/profile.d/conda.sh && \ + conda activate build-env && \ + export PREFIX="$CONDA_PREFIX" && \ export CONDA_BUILD="1" && \ - conda activate base && \ + conda activate build-env && \ cd /gstlal-burst && \ ./00init.sh && \ - ./configure --prefix=/opt/conda --without-doxygen && \ + ./configure --prefix=$CONDA_PREFIX --without-doxygen && \ make -j$NUM_CORES && \ make install -j$NUM_CORES RUN rm -rf gstlal-burst # Install gstlal-inspiral -RUN . /opt/conda/etc/profile.d/conda.sh && \ - conda activate base && \ - export PREFIX="/opt/conda" && \ +RUN . $CONDA_PREFIX/etc/profile.d/conda.sh && \ + conda activate build-env && \ + export PREFIX="$CONDA_PREFIX" && \ export CONDA_BUILD="1" && \ - conda activate base && \ + conda activate build-env && \ cd /gstlal-inspiral && \ ./00init.sh && \ - ./configure --prefix=/opt/conda --without-doxygen --disable-massmodel && \ + ./configure --prefix=$CONDA_PREFIX --without-doxygen --disable-massmodel && \ make -j$NUM_CORES && \ make install -j$NUM_CORES RUN rm -rf gstlal-inspiral @@ -80,11 +80,11 @@ ARG CI_COMMIT_REF_NAME FROM $CI_REGISTRY_IMAGE/dependencies/conda:$CI_COMMIT_REF_NAME AS run # Copy build artifacts -COPY --from=build /opt/conda /opt/conda +COPY --from=build $CONDA_PREFIX $CONDA_PREFIX # Export environment variables: -ENV PKG_CONFIG_PATH /opt/conda/lib/pkgconfig -ENV GST_PLUGIN_PATH /opt/conda/lib/gstreamer-1.0 +ENV PKG_CONFIG_PATH $CONDA_PREFIX/lib/pkgconfig +ENV GST_PLUGIN_PATH $CONDA_PREFIX/lib/gstreamer-1.0 ENV GSTLAL_FIR_WHITEN 0 ENV TMPDIR /tmp diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 82f127360cd2729a2a666607b552bec388d2b17b..4066883222325512e8bdd718acafd4b4eb04eb39 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -60,18 +60,17 @@ stages: - | cat <<EOF > Dockerfile FROM igwn/base:conda - COPY gstlal-inspiral/share/conda/dev-environment.yml . + COPY gstlal/share/conda/envs/qualified-linux-64.lock . + SHELL ["/bin/bash", "-c"] RUN conda config --set always_yes yes RUN conda config --add channels conda-forge RUN conda update -n base conda && \ conda clean -af - RUN conda env update -n base -f dev-environment.yml && \ + RUN conda create -n build-env --file qualified-linux-64.lock --force && \ conda clean -af - RUN conda install vim wget curl && \ - conda clean -af - RUN rm -f dev-environment.yml - ENV PKG_CONFIG_PATH /opt/conda/lib/pkgconfig - ENV GST_PLUGIN_PATH /opt/conda/lib/gstreamer-1.0 + RUN rm -f qualified-linux-64.lock + ENV PKG_CONFIG_PATH $CONDA_PREFIX/lib/pkgconfig + ENV GST_PLUGIN_PATH $CONDA_PREFIX/lib/gstreamer-1.0 ENTRYPOINT bash EOF - docker build -t $IMAGE_TAG .