Config file: make sphinx or mkdocs configuration required for projects using Sphinx or MkDocs (#11852)
- This introduces a breaking change for users overriding the new
(undocumented) jobs (create_environment, install, build.html and
friends). This is, if they have overridden any of those jobs without
explicitly declaring a Sphinx or MkDocs key, we will no longer run the
sphinx/mkdocs commands, not their setup.
- This hardcodes the dates from
https://github.com/readthedocs/website/pull/342 to through an error to
users using the configuration file without an explicit sphinx/mkdocs
configuration.
This allows for users to keep using the new overrides without worrying
about sphinx/mkdocs, while giving enough time to old users to migrate
their projects to give an explicit path.
### Some notes
- We are allowing to use sphinx/mkdocs and probably other keys with
build.commands, even if those keys don't affect the build in anything.
Not really something that "interrupt" users in any way, but it can be
missleading.
- A next step should be to not make python required at all, right now we
still create a virtual environment. We probably want to create a virtual
env only if python was provided in the list of build.tools.
----
- Ref: https://github.com/readthedocs/website/pull/342
- Closes https://github.com/readthedocs/readthedocs.org/issues/10637
- Closes https://github.com/readthedocs/readthedocs.org/issues/11819
- Closes https://github.com/readthedocs/readthedocs.org/pull/11810
- Closes https://github.com/readthedocs/readthedocs.org/issues/11216
---------
Co-authored-by: Manuel Kaufmann <humitos@gmail.com>