Skip to content

Mention concurrent builds limitation in "Build Process" #6993

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Apr 29, 2020
Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 12 additions & 16 deletions docs/builds.rst
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
Build Process
=============

Files: `tasks.py`_ - `doc_builder/`_

.. _tasks.py: https://github.com/readthedocs/readthedocs.org/blob/master/readthedocs/projects/tasks.py
.. _doc_builder/: https://github.com/rtfd/readthedocs.org/tree/master/readthedocs/doc_builder

Every documentation build has limited resources.
Our current build limits are:

* 15 minutes of CPU
* 1GB of RAM memory
* 2 concurrent builds

We can increase build limits on a per-project basis,
sending an email to [email protected] providing a good reason why your documentation needs more resources.
Expand Down Expand Up @@ -50,13 +46,13 @@ we will first look for a ``mkdocs.yml`` file in the root of your repository.
If we don't find one,
we will generate one for you.

Then MkDocs will build any files with a ``.md`` extension within the directory specified as ``docs_dir`` in the ``mkdocs.yml``.
Then MkDocs will build any files with a ``.md`` extension within the directory specified as ``docs_dir`` in the ``mkdocs.yml``.

If no ``mkdocs.yml`` was found in the root of your repository and we generated one for you,
Read the Docs will attempt to set ``docs_dir`` by sequentially searching for a ``docs``, ``doc``, ``Doc``, or ``book`` directory.
If no ``mkdocs.yml`` was found in the root of your repository and we generated one for you,
Read the Docs will attempt to set ``docs_dir`` by sequentially searching for a ``docs``, ``doc``, ``Doc``, or ``book`` directory.
The first of these directories that exists and contains files with a ``.md`` extension will be set to ``docs_dir`` within ``mkdocs.yml``,
and MkDocs will build the ``.md`` files in that directory.
As MkDocs doesn't support automatic PDF generation,
and MkDocs will build the ``.md`` files in that directory.
As MkDocs doesn't support automatic PDF generation,
Read the Docs cannot create a PDF version of your documentation with the *Mkdocs* option.

.. warning::
Expand Down Expand Up @@ -86,7 +82,7 @@ We also create pdf's and ePub's automatically based on your project.
For MkDocs, we run ``mkdocs build``.

Then these files are copied across to our application servers from the build server.
Once on the application servers, they are served from nginx.
Once on the application servers, they are served from nginx.

An example in code:

Expand Down Expand Up @@ -130,14 +126,14 @@ by default the image used is ``readthedocs/build:latest``,
but you can change that using a :doc:`config-file/index`.

.. note::

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this not break?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Guess not, huh.

The Docker images have a select number of C libraries installed,
because they are used across a wide array of python projects.
We can't install every C library out there,
but we try and support the major ones.

.. tip::

If you want to know the specific version of a package that is installed in the image
you can check the `Ubuntu package search page <https://packages.ubuntu.com/>`__.

Expand Down Expand Up @@ -177,9 +173,9 @@ The *Sphinx* and *Mkdocs* builders set the following RTD-specific environment va
.. csv-table::
:header-rows: 1

Environment variable, Description, Example value
``READTHEDOCS``, Whether the build is running inside RTD, ``True``
``READTHEDOCS_VERSION``, The RTD name of the version which is being built, ``latest``
Environment variable, Description, Example value
``READTHEDOCS``, Whether the build is running inside RTD, ``True``
``READTHEDOCS_VERSION``, The RTD name of the version which is being built, ``latest``
``READTHEDOCS_PROJECT``, The RTD slug of the project which is being built, ``my-example-project``
``READTHEDOCS_LANGUAGE``, The RTD language slug of the project which is being built, ``en``

Expand Down