Repository: readthedocs/readthedocs.org

Issue:
Most recent available `mambaforge=4.10` is simply too old
Hello guys, just wanted to ask you if it's possible to have a more modern version available for `mambaforge` - the best and latest available to be sourced on RTD via the configuration file is 4.10 which is simply too old (maximum conda 4.10 and mamba 0.19) - updating to a modern mamba doesn't work, as you can see from me changing the conf file in https://github.com/ESMValGroup/ESMValTool/pull/3310/files with output in https://readthedocs.org/projects/esmvaltool/builds/21390633/ - mamba is stuck at 0.19.0, which, in turn, slows down the environment creation process to around 10 minutes (for more recent conda's, updating mamba to something like >=1.4.8 works very well, and updates conda to 23.3 or 23.4 too, but in this case the base versions are too old). If you need any help whatsoever, I offer to help, and once more, many thanks for your great work on RTD :beer: 


Discussion:
Hi @valeriupredoi! You can update the Mamba version yourself by modifying this example we have in the documentation for Conda: https://docs.readthedocs.io/en/latest/build-customization.html#update-conda-version. Let me know if that works fine for your case.
hi @humitos many thanks for getting back to me :beer: That example I tried it before opening this issue - it works in that it updates conda to the latest possible for that old version, respectively 4.7.12 but that's no good because it's still very old, please see the rerun I just did with that example: https://readthedocs.org/projects/esmvaltool/builds/21401372/ and the modded config file https://github.com/ESMValGroup/ESMValTool/pull/3310/files - the problem is, with conda, after a while they stop allowing upgrades to the latest version if the base version is too old - that's why they keep releasing updated installers. I am not too fussed about conda that much (since we're not using it as a solver anymore), our problem is that mamba suffers from the same issue ie not possible to be updated if the base version is too old - https://readthedocs.org/projects/esmvaltool/builds/21401372/ - for some odd reason (something with RTD machines being very busy or mamba got itself into an infinite loop) this hasn't finished, it would usually take about 7-800 seconds
(from the phone 📱)

What happens if you try that example but using Mamba instead of Conda? That's what I meant.

So, "build.tools.python: mambaforge...", and then "mamba update .... mamba"

Does that work for your use case?
that's a very good idea, cheers muchly - and indeed it works! My mamba (and subsequently conda) are updated to latest - https://readthedocs.org/projects/esmvaltool/builds/21404188/ but for some reason the steps are duplicated, any ideas why that'd be? See the config file too https://github.com/ESMValGroup/ESMValTool/pull/3310/files

Resolving patch:
diff --git a/readthedocs/builds/constants_docker.py b/readthedocs/builds/constants_docker.py
--- a/readthedocs/builds/constants_docker.py
+++ b/readthedocs/builds/constants_docker.py
@@ -40,6 +40,7 @@
             "3": "3.11.4",
             "miniconda3-4.7": "miniconda3-4.7.12",
             "mambaforge-4.10": "mambaforge-4.10.3-10",
+            "mambaforge-22.9": "mambaforge-22.9.0-3",
         },
         "nodejs": {
             "14": "14.20.1",


Test patch:
diff --git a/readthedocs/rtd_tests/fixtures/spec/v2/schema.json b/readthedocs/rtd_tests/fixtures/spec/v2/schema.json
--- a/readthedocs/rtd_tests/fixtures/spec/v2/schema.json
+++ b/readthedocs/rtd_tests/fixtures/spec/v2/schema.json
@@ -177,7 +177,8 @@
                     "3.10",
                     "3.11",
                     "miniconda3-4.7",
-                    "mambaforge-4.10"
+                    "mambaforge-4.10",
+                    "mambaforge-22.9"
                   ]
                 },
                 "nodejs": {