From b6936ab9942f21df96c80830ab6a67d5eaec5b90 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Wed, 21 Aug 2024 13:02:41 +0200 Subject: [PATCH 01/28] Update for mamba 2.0.0rc2 Signed-off-by: Julien Jerphanion --- repo2docker/buildpacks/conda/install-base-env.bash | 6 +++--- tests/conda/py35-binder-dir/verify | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/repo2docker/buildpacks/conda/install-base-env.bash b/repo2docker/buildpacks/conda/install-base-env.bash index 4bd3add9..199d46c9 100755 --- a/repo2docker/buildpacks/conda/install-base-env.bash +++ b/repo2docker/buildpacks/conda/install-base-env.bash @@ -5,8 +5,8 @@ set -ex cd $(dirname $0) -export MAMBA_VERSION=1.5.7 -export CONDA_VERSION=24.3.0 +export MAMBA_VERSION="2.0.0rc2" +export CONDA_VERSION=24.7.1 URL="https://anaconda.org/conda-forge/micromamba/${MAMBA_VERSION}/download/${CONDA_PLATFORM}/micromamba-${MAMBA_VERSION}-0.tar.bz2" @@ -36,7 +36,7 @@ update_dependencies: false # channel_priority: flexible EOT -micromamba install conda=${CONDA_VERSION} mamba=${MAMBA_VERSION} -y +micromamba install -c conda-forge/label/mamba_dev -c conda-forge conda=${CONDA_VERSION} mamba=${MAMBA_VERSION} -y echo "installing notebook env:" cat "${NB_ENVIRONMENT_FILE}" diff --git a/tests/conda/py35-binder-dir/verify b/tests/conda/py35-binder-dir/verify index 1f0ecc5f..d98403cd 100755 --- a/tests/conda/py35-binder-dir/verify +++ b/tests/conda/py35-binder-dir/verify @@ -21,8 +21,8 @@ assert out == "1.5.7", out out = sh(["mamba", "--version"]) assert ( out - == """mamba 1.5.7 -conda 24.3.0""" + == """mamba 2.2.0rc2 +conda 24.7.0""" ), out sh([kernel_python, "-c", "import numpy"]) From 39d0dd5c44573a919a755903c35ddccd480c8ba1 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Wed, 21 Aug 2024 15:00:22 +0200 Subject: [PATCH 02/28] Use conda 24.7.0 --- repo2docker/buildpacks/conda/install-base-env.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repo2docker/buildpacks/conda/install-base-env.bash b/repo2docker/buildpacks/conda/install-base-env.bash index 199d46c9..a812571e 100755 --- a/repo2docker/buildpacks/conda/install-base-env.bash +++ b/repo2docker/buildpacks/conda/install-base-env.bash @@ -6,7 +6,7 @@ set -ex cd $(dirname $0) export MAMBA_VERSION="2.0.0rc2" -export CONDA_VERSION=24.7.1 +export CONDA_VERSION=24.7.0 URL="https://anaconda.org/conda-forge/micromamba/${MAMBA_VERSION}/download/${CONDA_PLATFORM}/micromamba-${MAMBA_VERSION}-0.tar.bz2" From d404831595a5b050461dafdc1e8eec2dbdde7a09 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Wed, 21 Aug 2024 15:30:27 +0200 Subject: [PATCH 03/28] Use custom build of conda-libmamba-solver See: https://anaconda.org/conda-canary/conda-libmamba-solver/files?channel=conda-libmamba-solver-pr-457 Co-authored-by: Hind Montassif Signed-off-by: Julien Jerphanion --- repo2docker/buildpacks/conda/install-base-env.bash | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/repo2docker/buildpacks/conda/install-base-env.bash b/repo2docker/buildpacks/conda/install-base-env.bash index a812571e..b60e61f6 100755 --- a/repo2docker/buildpacks/conda/install-base-env.bash +++ b/repo2docker/buildpacks/conda/install-base-env.bash @@ -36,7 +36,12 @@ update_dependencies: false # channel_priority: flexible EOT -micromamba install -c conda-forge/label/mamba_dev -c conda-forge conda=${CONDA_VERSION} mamba=${MAMBA_VERSION} -y +# TODO: remove channels once 2.0.0 is used. +micromamba install \ + -c conda-forge/label/mamba_dev \ + -c conda-canary/label/conda-libmamba-solver-pr-457 \ + -c conda-forge \ + conda=${CONDA_VERSION} mamba=${MAMBA_VERSION} -y echo "installing notebook env:" cat "${NB_ENVIRONMENT_FILE}" From 6ce813d371c78f164468c1f370b634f2aff09e42 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Wed, 21 Aug 2024 15:55:55 +0200 Subject: [PATCH 04/28] Update version numbers in tests Signed-off-by: Julien Jerphanion --- tests/conda/py35-binder-dir/verify | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/conda/py35-binder-dir/verify b/tests/conda/py35-binder-dir/verify index d98403cd..70943f91 100755 --- a/tests/conda/py35-binder-dir/verify +++ b/tests/conda/py35-binder-dir/verify @@ -16,12 +16,12 @@ v = out.split()[1] assert v[:3] == "3.5", out out = sh(["micromamba", "--version"]) -assert out == "1.5.7", out +assert out == "2.0.0", out out = sh(["mamba", "--version"]) assert ( out - == """mamba 2.2.0rc2 + == """mamba 2.0.0 conda 24.7.0""" ), out From 056740312588091b7fe353fbcfcca34b6e363619 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Wed, 21 Aug 2024 16:05:10 +0200 Subject: [PATCH 05/28] Add explicit specification for conda-libmamba-solver Signed-off-by: Julien Jerphanion Co-authored-by: jaimergp --- repo2docker/buildpacks/conda/install-base-env.bash | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/repo2docker/buildpacks/conda/install-base-env.bash b/repo2docker/buildpacks/conda/install-base-env.bash index b60e61f6..2182be77 100755 --- a/repo2docker/buildpacks/conda/install-base-env.bash +++ b/repo2docker/buildpacks/conda/install-base-env.bash @@ -36,11 +36,12 @@ update_dependencies: false # channel_priority: flexible EOT -# TODO: remove channels once 2.0.0 is used. +# TODO: remove channels and conda-libmamba-solver once 2.0.0 is used. micromamba install \ - -c conda-forge/label/mamba_dev \ -c conda-canary/label/conda-libmamba-solver-pr-457 \ + -c conda-forge/label/mamba_dev \ -c conda-forge \ + "conda-libmamba-solver>=24.7.0.141" \ conda=${CONDA_VERSION} mamba=${MAMBA_VERSION} -y echo "installing notebook env:" From e4b24a494d183688227da715b68843bd2921da18 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Wed, 21 Aug 2024 16:20:32 +0200 Subject: [PATCH 06/28] Initialize current shell Signed-off-by: Julien Jerphanion --- repo2docker/buildpacks/conda/install-base-env.bash | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repo2docker/buildpacks/conda/install-base-env.bash b/repo2docker/buildpacks/conda/install-base-env.bash index 2182be77..155dc5f1 100755 --- a/repo2docker/buildpacks/conda/install-base-env.bash +++ b/repo2docker/buildpacks/conda/install-base-env.bash @@ -23,6 +23,8 @@ chmod 0755 "$MICROMAMBA_EXE" eval "$(${MICROMAMBA_EXE} shell hook -p ${CONDA_DIR} -s posix)" +eval "$(micromamba shell hook --shell )" + micromamba activate export PATH="${PWD}/bin:$PATH" From d19609bf7536dc10910a0e52c9fc255a38fa3096 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Wed, 21 Aug 2024 16:30:10 +0200 Subject: [PATCH 07/28] fixup! Initialize current shell --- repo2docker/buildpacks/conda/install-base-env.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repo2docker/buildpacks/conda/install-base-env.bash b/repo2docker/buildpacks/conda/install-base-env.bash index 155dc5f1..8b04552f 100755 --- a/repo2docker/buildpacks/conda/install-base-env.bash +++ b/repo2docker/buildpacks/conda/install-base-env.bash @@ -23,7 +23,7 @@ chmod 0755 "$MICROMAMBA_EXE" eval "$(${MICROMAMBA_EXE} shell hook -p ${CONDA_DIR} -s posix)" -eval "$(micromamba shell hook --shell )" +eval "$(micromamba shell hook --shell bash)" micromamba activate From a947a0892d1f42cd351132bf3f7ce41b8cc994a7 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Wed, 21 Aug 2024 16:52:28 +0200 Subject: [PATCH 08/28] Adapt match specifications Signed-off-by: Julien Jerphanion --- repo2docker/buildpacks/conda/install-base-env.bash | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/repo2docker/buildpacks/conda/install-base-env.bash b/repo2docker/buildpacks/conda/install-base-env.bash index 8b04552f..9b494d9f 100755 --- a/repo2docker/buildpacks/conda/install-base-env.bash +++ b/repo2docker/buildpacks/conda/install-base-env.bash @@ -43,8 +43,9 @@ micromamba install \ -c conda-canary/label/conda-libmamba-solver-pr-457 \ -c conda-forge/label/mamba_dev \ -c conda-forge \ - "conda-libmamba-solver>=24.7.0.141" \ - conda=${CONDA_VERSION} mamba=${MAMBA_VERSION} -y + "conda-libmamba-solver>=${CONDA_VERSION}" \ + "conda>=${CONDA_VERSION}" \ + mamba=${MAMBA_VERSION} -y echo "installing notebook env:" cat "${NB_ENVIRONMENT_FILE}" From 6ade75f90c85b7507e19ca1b5e590487c87e86be Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Thu, 22 Aug 2024 09:18:06 +0200 Subject: [PATCH 09/28] Use `--root-prefix` flag instead of `--prefix` flag See: https://mamba.readthedocs.io/en/latest/developer_zone/changes-2.0.html#micromamba Signed-off-by: Julien Jerphanion Co-authored-by: Hind Montassif --- repo2docker/buildpacks/conda/install-base-env.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repo2docker/buildpacks/conda/install-base-env.bash b/repo2docker/buildpacks/conda/install-base-env.bash index 9b494d9f..04dabf17 100755 --- a/repo2docker/buildpacks/conda/install-base-env.bash +++ b/repo2docker/buildpacks/conda/install-base-env.bash @@ -21,7 +21,7 @@ time wget -qO- ${URL} | tar -xvj bin/micromamba mv bin/micromamba "$MICROMAMBA_EXE" chmod 0755 "$MICROMAMBA_EXE" -eval "$(${MICROMAMBA_EXE} shell hook -p ${CONDA_DIR} -s posix)" +eval "$(${MICROMAMBA_EXE} shell hook --root-prefix ${CONDA_DIR} -s posix)" eval "$(micromamba shell hook --shell bash)" From be0ed41510e0234f7770f8b6c3e5e75a3414c29a Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Thu, 22 Aug 2024 10:32:56 +0200 Subject: [PATCH 10/28] fixup! Use `--root-prefix` flag instead of `--prefix` flag --- repo2docker/buildpacks/conda/activate-conda.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repo2docker/buildpacks/conda/activate-conda.sh b/repo2docker/buildpacks/conda/activate-conda.sh index 48372318..14c46db8 100755 --- a/repo2docker/buildpacks/conda/activate-conda.sh +++ b/repo2docker/buildpacks/conda/activate-conda.sh @@ -1,5 +1,5 @@ # enable conda and activate the notebook environment -eval $(micromamba shell hook -s posix -p ${CONDA_DIR}) +eval $(micromamba shell hook -s posix -r ${CONDA_DIR}) for name in conda mamba; do CONDA_PROFILE="${CONDA_DIR}/etc/profile.d/${name}.sh" test -f $CONDA_PROFILE && . $CONDA_PROFILE From c19c5083d6cdfc9dc473d5ff31f6ac8ee41c9395 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Thu, 22 Aug 2024 11:22:22 +0200 Subject: [PATCH 11/28] Remove duplicated call to `micromamba shell hook` --- repo2docker/buildpacks/conda/install-base-env.bash | 2 -- 1 file changed, 2 deletions(-) diff --git a/repo2docker/buildpacks/conda/install-base-env.bash b/repo2docker/buildpacks/conda/install-base-env.bash index 04dabf17..178b489f 100755 --- a/repo2docker/buildpacks/conda/install-base-env.bash +++ b/repo2docker/buildpacks/conda/install-base-env.bash @@ -23,8 +23,6 @@ chmod 0755 "$MICROMAMBA_EXE" eval "$(${MICROMAMBA_EXE} shell hook --root-prefix ${CONDA_DIR} -s posix)" -eval "$(micromamba shell hook --shell bash)" - micromamba activate export PATH="${PWD}/bin:$PATH" From efe36d75320d47ee371e17a7bd64183c5a47ea7c Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Thu, 22 Aug 2024 12:07:40 +0200 Subject: [PATCH 12/28] Explicitly specify the channel of the custom build of conda-libmamba-solver --- repo2docker/buildpacks/conda/install-base-env.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repo2docker/buildpacks/conda/install-base-env.bash b/repo2docker/buildpacks/conda/install-base-env.bash index 178b489f..7d55bec6 100755 --- a/repo2docker/buildpacks/conda/install-base-env.bash +++ b/repo2docker/buildpacks/conda/install-base-env.bash @@ -41,7 +41,7 @@ micromamba install \ -c conda-canary/label/conda-libmamba-solver-pr-457 \ -c conda-forge/label/mamba_dev \ -c conda-forge \ - "conda-libmamba-solver>=${CONDA_VERSION}" \ + "conda-canary/label/conda-libmamba-solver-pr-457::conda-libmamba-solver>=${CONDA_VERSION}" \ "conda>=${CONDA_VERSION}" \ mamba=${MAMBA_VERSION} -y From 0a14433ea8595670f7f288d07898344c656218b6 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Thu, 22 Aug 2024 17:31:03 +0200 Subject: [PATCH 13/28] Use `micromamba activate` instead of `mamba activate` The shell macros are only defined for micromamba but not for mamba. This brings consistency. But then, what was making it working before? Signed-off-by: Julien Jerphanion Co-authored-by: Sylvain Corlay Co-authored-by: Hind Montassif --- repo2docker/buildpacks/conda/activate-conda.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/repo2docker/buildpacks/conda/activate-conda.sh b/repo2docker/buildpacks/conda/activate-conda.sh index 14c46db8..15b771e7 100755 --- a/repo2docker/buildpacks/conda/activate-conda.sh +++ b/repo2docker/buildpacks/conda/activate-conda.sh @@ -7,8 +7,8 @@ done if [[ "${KERNEL_PYTHON_PREFIX}" != "${NB_PYTHON_PREFIX}" ]]; then # if the kernel is a separate env, stack them # so both are on PATH, notebook first - mamba activate ${KERNEL_PYTHON_PREFIX} - mamba activate --stack ${NB_PYTHON_PREFIX} + micromamba activate ${KERNEL_PYTHON_PREFIX} + micromamba activate --stack ${NB_PYTHON_PREFIX} # even though it's second on $PATH # make sure CONDA_DEFAULT_ENV is the *kernel* env @@ -17,5 +17,5 @@ if [[ "${KERNEL_PYTHON_PREFIX}" != "${NB_PYTHON_PREFIX}" ]]; then # which only contains UI when the two are different export CONDA_DEFAULT_ENV="${KERNEL_PYTHON_PREFIX}" else - mamba activate ${NB_PYTHON_PREFIX} + micromamba activate ${NB_PYTHON_PREFIX} fi From d520a646ffb74a509f8aa9b9047ab61a03868c30 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Thu, 22 Aug 2024 17:55:12 +0200 Subject: [PATCH 14/28] Show stdout Signed-off-by: Julien Jerphanion --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d5d8dc03..50dd796d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -91,6 +91,6 @@ jobs: - name: Run pytest run: | - pytest --verbose --color=yes --durations=10 --cov=repo2docker tests/${{ matrix.repo_type }} + pytest --verbose -s --color=yes --durations=10 --cov=repo2docker tests/${{ matrix.repo_type }} - uses: codecov/codecov-action@v4 From 47a1561054bc408684b7f13c81d2ac8e19b7dab4 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Thu, 22 Aug 2024 19:24:43 +0200 Subject: [PATCH 15/28] Fix version number in `tests/conda/py35-binder-dir/verify` Signed-off-by: Julien Jerphanion --- tests/conda/py35-binder-dir/verify | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tests/conda/py35-binder-dir/verify b/tests/conda/py35-binder-dir/verify index 70943f91..5fcc2860 100755 --- a/tests/conda/py35-binder-dir/verify +++ b/tests/conda/py35-binder-dir/verify @@ -19,10 +19,6 @@ out = sh(["micromamba", "--version"]) assert out == "2.0.0", out out = sh(["mamba", "--version"]) -assert ( - out - == """mamba 2.0.0 -conda 24.7.0""" -), out +assert out == "2.0.0", out sh([kernel_python, "-c", "import numpy"]) From ff16804b4b422acdbc5051b5cda51956f153c186 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Fri, 23 Aug 2024 11:51:31 +0200 Subject: [PATCH 16/28] Use micromamba instead of mamba everywhere Signed-off-by: Julien Jerphanion Co-authored-by: Hind Montassif --- repo2docker/buildpacks/conda/install-base-env.bash | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/repo2docker/buildpacks/conda/install-base-env.bash b/repo2docker/buildpacks/conda/install-base-env.bash index 7d55bec6..5023157d 100755 --- a/repo2docker/buildpacks/conda/install-base-env.bash +++ b/repo2docker/buildpacks/conda/install-base-env.bash @@ -49,7 +49,7 @@ echo "installing notebook env:" cat "${NB_ENVIRONMENT_FILE}" -time ${MAMBA_EXE} create -p ${NB_PYTHON_PREFIX} --file "${NB_ENVIRONMENT_FILE}" +time ${MICROMAMBA_EXE} create -p ${NB_PYTHON_PREFIX} --file "${NB_ENVIRONMENT_FILE}" if [[ ! -z "${NB_REQUIREMENTS_FILE:-}" ]]; then echo "installing pip requirements" @@ -66,7 +66,7 @@ if [[ ! -z "${KERNEL_ENVIRONMENT_FILE:-}" ]]; then # install kernel env and register kernelspec echo "installing kernel env:" cat "${KERNEL_ENVIRONMENT_FILE}" - time ${MAMBA_EXE} create -p ${KERNEL_PYTHON_PREFIX} --file "${KERNEL_ENVIRONMENT_FILE}" + time ${MICROMAMBA_EXE} create -p ${KERNEL_PYTHON_PREFIX} --file "${KERNEL_ENVIRONMENT_FILE}" if [[ ! -z "${KERNEL_REQUIREMENTS_FILE:-}" ]]; then echo "installing pip requirements for kernel" @@ -76,18 +76,18 @@ if [[ ! -z "${KERNEL_ENVIRONMENT_FILE:-}" ]]; then ${KERNEL_PYTHON_PREFIX}/bin/ipython kernel install --prefix "${NB_PYTHON_PREFIX}" echo '' > ${KERNEL_PYTHON_PREFIX}/conda-meta/history - ${MAMBA_EXE} list -p ${KERNEL_PYTHON_PREFIX} + ${MICROMAMBA_EXE} list -p ${KERNEL_PYTHON_PREFIX} fi # Clean things out! -time ${MAMBA_EXE} clean --all -f -y +time ${MICROMAMBA_EXE} clean --all -f -y # Remove the pip cache created as part of installing micromamba rm -rf /root/.cache chown -R $NB_USER:$NB_USER ${CONDA_DIR} -${MAMBA_EXE} list -p ${NB_PYTHON_PREFIX} +${MICROMAMBA_EXE} list -p ${NB_PYTHON_PREFIX} # Set NPM config ${NB_PYTHON_PREFIX}/bin/npm config --global set prefix ${NPM_DIR} From 19330b338ceac7a81d6649f198543854bf8e7bb5 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Mon, 26 Aug 2024 21:58:40 +0200 Subject: [PATCH 17/28] Update for rc3 --- repo2docker/buildpacks/conda/install-base-env.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repo2docker/buildpacks/conda/install-base-env.bash b/repo2docker/buildpacks/conda/install-base-env.bash index 5023157d..7ba52431 100755 --- a/repo2docker/buildpacks/conda/install-base-env.bash +++ b/repo2docker/buildpacks/conda/install-base-env.bash @@ -5,7 +5,7 @@ set -ex cd $(dirname $0) -export MAMBA_VERSION="2.0.0rc2" +export MAMBA_VERSION="2.0.0rc3" export CONDA_VERSION=24.7.0 URL="https://anaconda.org/conda-forge/micromamba/${MAMBA_VERSION}/download/${CONDA_PLATFORM}/micromamba-${MAMBA_VERSION}-0.tar.bz2" From 4a02cc38ae32b40d8b33137d0f454c952d09f78a Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Mon, 26 Aug 2024 22:11:12 +0200 Subject: [PATCH 18/28] Reuse `mamba` in the activation script --- repo2docker/buildpacks/conda/activate-conda.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/repo2docker/buildpacks/conda/activate-conda.sh b/repo2docker/buildpacks/conda/activate-conda.sh index 15b771e7..14c46db8 100755 --- a/repo2docker/buildpacks/conda/activate-conda.sh +++ b/repo2docker/buildpacks/conda/activate-conda.sh @@ -7,8 +7,8 @@ done if [[ "${KERNEL_PYTHON_PREFIX}" != "${NB_PYTHON_PREFIX}" ]]; then # if the kernel is a separate env, stack them # so both are on PATH, notebook first - micromamba activate ${KERNEL_PYTHON_PREFIX} - micromamba activate --stack ${NB_PYTHON_PREFIX} + mamba activate ${KERNEL_PYTHON_PREFIX} + mamba activate --stack ${NB_PYTHON_PREFIX} # even though it's second on $PATH # make sure CONDA_DEFAULT_ENV is the *kernel* env @@ -17,5 +17,5 @@ if [[ "${KERNEL_PYTHON_PREFIX}" != "${NB_PYTHON_PREFIX}" ]]; then # which only contains UI when the two are different export CONDA_DEFAULT_ENV="${KERNEL_PYTHON_PREFIX}" else - micromamba activate ${NB_PYTHON_PREFIX} + mamba activate ${NB_PYTHON_PREFIX} fi From 14addc5a7c198a787234b55015b2b9986001a61c Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Tue, 27 Aug 2024 10:13:34 +0200 Subject: [PATCH 19/28] Revert to use MAMBA_EXE Signed-off-by: Julien Jerphanion Co-authored-by: Sylvain Corlay --- repo2docker/buildpacks/conda/install-base-env.bash | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/repo2docker/buildpacks/conda/install-base-env.bash b/repo2docker/buildpacks/conda/install-base-env.bash index 7ba52431..9e3b9ffa 100755 --- a/repo2docker/buildpacks/conda/install-base-env.bash +++ b/repo2docker/buildpacks/conda/install-base-env.bash @@ -49,7 +49,7 @@ echo "installing notebook env:" cat "${NB_ENVIRONMENT_FILE}" -time ${MICROMAMBA_EXE} create -p ${NB_PYTHON_PREFIX} --file "${NB_ENVIRONMENT_FILE}" +time ${MAMBA_EXE} create -p ${NB_PYTHON_PREFIX} --file "${NB_ENVIRONMENT_FILE}" if [[ ! -z "${NB_REQUIREMENTS_FILE:-}" ]]; then echo "installing pip requirements" @@ -66,7 +66,7 @@ if [[ ! -z "${KERNEL_ENVIRONMENT_FILE:-}" ]]; then # install kernel env and register kernelspec echo "installing kernel env:" cat "${KERNEL_ENVIRONMENT_FILE}" - time ${MICROMAMBA_EXE} create -p ${KERNEL_PYTHON_PREFIX} --file "${KERNEL_ENVIRONMENT_FILE}" + time ${MAMBA_EXE} create -p ${KERNEL_PYTHON_PREFIX} --file "${KERNEL_ENVIRONMENT_FILE}" if [[ ! -z "${KERNEL_REQUIREMENTS_FILE:-}" ]]; then echo "installing pip requirements for kernel" @@ -76,18 +76,18 @@ if [[ ! -z "${KERNEL_ENVIRONMENT_FILE:-}" ]]; then ${KERNEL_PYTHON_PREFIX}/bin/ipython kernel install --prefix "${NB_PYTHON_PREFIX}" echo '' > ${KERNEL_PYTHON_PREFIX}/conda-meta/history - ${MICROMAMBA_EXE} list -p ${KERNEL_PYTHON_PREFIX} + ${MAMBA_EXE} list -p ${KERNEL_PYTHON_PREFIX} fi # Clean things out! -time ${MICROMAMBA_EXE} clean --all -f -y +time ${MAMBA_EXE} clean --all -f -y # Remove the pip cache created as part of installing micromamba rm -rf /root/.cache chown -R $NB_USER:$NB_USER ${CONDA_DIR} -${MICROMAMBA_EXE} list -p ${NB_PYTHON_PREFIX} +${MAMBA_EXE} list -p ${NB_PYTHON_PREFIX} # Set NPM config ${NB_PYTHON_PREFIX}/bin/npm config --global set prefix ${NPM_DIR} From 3d7a7ccc0a4dfe4897e393c5a822a42966099a62 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Thu, 29 Aug 2024 17:37:48 +0200 Subject: [PATCH 20/28] Use 2.0.0rc4 Signed-off-by: Julien Jerphanion --- repo2docker/buildpacks/conda/install-base-env.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repo2docker/buildpacks/conda/install-base-env.bash b/repo2docker/buildpacks/conda/install-base-env.bash index 9e3b9ffa..69ff4397 100755 --- a/repo2docker/buildpacks/conda/install-base-env.bash +++ b/repo2docker/buildpacks/conda/install-base-env.bash @@ -5,7 +5,7 @@ set -ex cd $(dirname $0) -export MAMBA_VERSION="2.0.0rc3" +export MAMBA_VERSION="2.0.0rc4" export CONDA_VERSION=24.7.0 URL="https://anaconda.org/conda-forge/micromamba/${MAMBA_VERSION}/download/${CONDA_PLATFORM}/micromamba-${MAMBA_VERSION}-0.tar.bz2" From 0a6406cda25623f685192beeec6fccd2da9b5268 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Thu, 29 Aug 2024 18:14:31 +0200 Subject: [PATCH 21/28] Do not forward stdout Signed-off-by: Julien Jerphanion --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 50dd796d..d5d8dc03 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -91,6 +91,6 @@ jobs: - name: Run pytest run: | - pytest --verbose -s --color=yes --durations=10 --cov=repo2docker tests/${{ matrix.repo_type }} + pytest --verbose --color=yes --durations=10 --cov=repo2docker tests/${{ matrix.repo_type }} - uses: codecov/codecov-action@v4 From 1ebc84ea04874ff98b56a1bf44cd041c0be9445d Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Fri, 30 Aug 2024 15:05:16 +0200 Subject: [PATCH 22/28] Log source of profile Signed-off-by: Julien Jerphanion --- repo2docker/buildpacks/conda/activate-conda.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/repo2docker/buildpacks/conda/activate-conda.sh b/repo2docker/buildpacks/conda/activate-conda.sh index 14c46db8..69f3884a 100755 --- a/repo2docker/buildpacks/conda/activate-conda.sh +++ b/repo2docker/buildpacks/conda/activate-conda.sh @@ -2,6 +2,7 @@ eval $(micromamba shell hook -s posix -r ${CONDA_DIR}) for name in conda mamba; do CONDA_PROFILE="${CONDA_DIR}/etc/profile.d/${name}.sh" + echo "Activating profile: ${CONDA_PROFILE}" test -f $CONDA_PROFILE && . $CONDA_PROFILE done if [[ "${KERNEL_PYTHON_PREFIX}" != "${NB_PYTHON_PREFIX}" ]]; then From ea839030b0594977b7ed0b92e6a01c5d903f93d2 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Fri, 30 Aug 2024 15:08:23 +0200 Subject: [PATCH 23/28] Log information of the current environment in py36-postBuild/postBuild Signed-off-by: Julien Jerphanion --- tests/conda/py36-postBuild/postBuild | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/conda/py36-postBuild/postBuild b/tests/conda/py36-postBuild/postBuild index cf0db012..77983ca7 100755 --- a/tests/conda/py36-postBuild/postBuild +++ b/tests/conda/py36-postBuild/postBuild @@ -1,6 +1,8 @@ #!/bin/bash set -ex +mamba info + # mamba/conda installs in kernel env mamba install -y make From 86ff1fa27c1d6df96c2f780d7efd94a8e11df563 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Fri, 30 Aug 2024 16:06:22 +0200 Subject: [PATCH 24/28] Show all env variables Co-authored-by: jaimergp --- tests/conda/py36-postBuild/postBuild | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/conda/py36-postBuild/postBuild b/tests/conda/py36-postBuild/postBuild index 77983ca7..d7d9bf98 100755 --- a/tests/conda/py36-postBuild/postBuild +++ b/tests/conda/py36-postBuild/postBuild @@ -1,6 +1,8 @@ #!/bin/bash set -ex +env | sort + mamba info # mamba/conda installs in kernel env From 5ce4467c4af9256e63517a1007a7c70cccc1ebb1 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Fri, 30 Aug 2024 16:15:56 +0200 Subject: [PATCH 25/28] Debug activate-conda.sh --- repo2docker/buildpacks/conda/activate-conda.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/repo2docker/buildpacks/conda/activate-conda.sh b/repo2docker/buildpacks/conda/activate-conda.sh index 69f3884a..31264657 100755 --- a/repo2docker/buildpacks/conda/activate-conda.sh +++ b/repo2docker/buildpacks/conda/activate-conda.sh @@ -1,4 +1,5 @@ # enable conda and activate the notebook environment +set -ex eval $(micromamba shell hook -s posix -r ${CONDA_DIR}) for name in conda mamba; do CONDA_PROFILE="${CONDA_DIR}/etc/profile.d/${name}.sh" From 4a5bd4123629c777983302d6149c12eaa30d6d2b Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Fri, 13 Sep 2024 15:38:40 +0200 Subject: [PATCH 26/28] Use 2.0.0rc5 --- repo2docker/buildpacks/conda/install-base-env.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repo2docker/buildpacks/conda/install-base-env.bash b/repo2docker/buildpacks/conda/install-base-env.bash index 69ff4397..1012743f 100755 --- a/repo2docker/buildpacks/conda/install-base-env.bash +++ b/repo2docker/buildpacks/conda/install-base-env.bash @@ -5,7 +5,7 @@ set -ex cd $(dirname $0) -export MAMBA_VERSION="2.0.0rc4" +export MAMBA_VERSION="2.0.0rc5" export CONDA_VERSION=24.7.0 URL="https://anaconda.org/conda-forge/micromamba/${MAMBA_VERSION}/download/${CONDA_PLATFORM}/micromamba-${MAMBA_VERSION}-0.tar.bz2" From a41a00a92f0941a9c7cb511694b63793214ffc26 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Fri, 13 Sep 2024 16:24:51 +0200 Subject: [PATCH 27/28] Empty commit to retrigger CI Signed-off-by: Julien Jerphanion From b6a0b84360564518bd7e31b22242273afaded3ca Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Fri, 20 Sep 2024 18:53:51 +0200 Subject: [PATCH 28/28] Use 2.0.0rc6 --- repo2docker/buildpacks/conda/install-base-env.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repo2docker/buildpacks/conda/install-base-env.bash b/repo2docker/buildpacks/conda/install-base-env.bash index 1012743f..b381bbb7 100755 --- a/repo2docker/buildpacks/conda/install-base-env.bash +++ b/repo2docker/buildpacks/conda/install-base-env.bash @@ -5,7 +5,7 @@ set -ex cd $(dirname $0) -export MAMBA_VERSION="2.0.0rc5" +export MAMBA_VERSION="2.0.0rc6" export CONDA_VERSION=24.7.0 URL="https://anaconda.org/conda-forge/micromamba/${MAMBA_VERSION}/download/${CONDA_PLATFORM}/micromamba-${MAMBA_VERSION}-0.tar.bz2"