Skip to content

Commit 6057ff9

Browse files
authored
Merge pull request #4515 from stsewd/docs-build-process
Update docs about build process
2 parents 9ee283c + 2f7c208 commit 6057ff9

File tree

1 file changed

+84
-19
lines changed

1 file changed

+84
-19
lines changed

docs/builds.rst

Lines changed: 84 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ Our current build limits are:
1515
We can increase build limits on a per-project basis,
1616
if you provide a good reason your documentation needs more resources.
1717

18-
You can see the current Docker build images that we use in our `docker repository <https://github.com/rtfd/readthedocs-docker-images>`_. `Docker Hub <https://hub.docker.com/r/readthedocs/build/>`_ also shows the latest set of images that have been built.
18+
You can see the current Docker build images that we use in our `docker repository <https://github.com/rtfd/readthedocs-docker-images>`_.
19+
`Docker Hub <https://hub.docker.com/r/readthedocs/build/>`_ also shows the latest set of images that have been built.
1920

2021
Currently in production we're using the ``readthedocs/build:2.0`` docker image as our default image.
2122

@@ -53,17 +54,23 @@ Read the Docs cannot create a PDF version of your documentation with the *Mkdocs
5354
Understanding what's going on
5455
-----------------------------
5556

56-
Understanding how Read the Docs builds your project will help you with debugging the problems you have with the site. It should also allow you to take advantage of certain things that happen during the build process.
57+
Understanding how Read the Docs builds your project will help you with debugging the problems you have with the site.
58+
It should also allow you to take advantage of certain things that happen during the build process.
5759

58-
The first step of the process is that we check out your code from the repository you have given us. If the code is already checked out, we update the copy to the branch that you have specified in your projects configuration.
60+
The first step of the process is that we check out your code from the repository you have given us.
61+
If the code is already checked out, we update the copy to the branch that you have specified in your projects configuration.
5962

6063
Then we build the proper backend code for the type of documentation you've selected.
6164

62-
If you have the *Install Project* option enabled, we will run ``setup.py install`` on your package, installing it into a virtual environment. You can also define additional packages to install with the *Requirements File* option.
65+
If you have the *Install Project* option enabled, we will run ``setup.py install`` on your package, installing it into a virtual environment.
66+
You can also define additional packages to install with the *Requirements File* option.
6367

64-
When we build your documentation, we run `sphinx-build -b html . _build/html`, where `html` would be replaced with the correct backend. We also create man pages and pdf's automatically based on your project.
68+
When we build your documentation, we run ``sphinx-build -b html . _build/html``,
69+
where ``html`` would be replaced with the correct backend.
70+
We also create pdf's and ePub's automatically based on your project.
6571

66-
Then these files are copied across to our application servers from the build server. Once on the application servers, they are served from nginx.
72+
Then these files are copied across to our application servers from the build server.
73+
Once on the application servers, they are served from nginx.
6774

6875
An example in code:
6976

@@ -78,7 +85,7 @@ An example in code:
7885
copy_files(artifact_dir)
7986
8087
81-
Builder Responsibility
88+
Builder responsibility
8289
----------------------
8390

8491
Builders have a very specific job.
@@ -88,18 +95,76 @@ The artifacts should end up in ``self.version.project.artifact_path(version=self
8895
Where ``type`` is the name of your builder.
8996
All files that end up in the artifact directory should be in their final form.
9097

91-
Packages installed in the build environment
92-
-------------------------------------------
93-
94-
The build server does 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. We currently have the following libraries installed:
95-
96-
* doxygen
97-
* LaTeX (texlive-full)
98-
* libevent (libevent-dev)
99-
* dvipng
100-
* graphviz
101-
* libxslt1.1
102-
* libxml2-dev
98+
The build environment
99+
---------------------
100+
101+
The build process is executed inside Docker containers,
102+
by default the image used is ``readthedocs/build:2.0``,
103+
but you can change that using a :doc:`configuration file <yaml-config>`.
104+
105+
.. note::
106+
107+
The Docker images have a select number of C libraries installed,
108+
because they are used across a wide array of python projects.
109+
We can't install every C library out there,
110+
but we try and support the major ones.
111+
112+
.. tip::
113+
114+
If you want to know the specific version of a package that is installed in the image
115+
you can check the `Ubuntu package search page <https://packages.ubuntu.com/>`__.
116+
117+
2.0 (stable)
118+
~~~~~~~~~~~~
119+
120+
:O.S: Ubuntu 16.04
121+
:Conda: Miniconda 4.3.31
122+
:Python:
123+
* ``m2crypto``
124+
* ``matplolib``
125+
* ``numpy``
126+
* ``pandas``
127+
* ``pip``
128+
* ``scipy``
129+
:Other packages:
130+
* ``doxygen``
131+
* ``graphviz``
132+
* ``libevent``
133+
* ``libjpeg``
134+
* ``libxml2-dev``
135+
* ``libxslt1.1``
136+
* ``pandoc``
137+
* ``textlive-full``
138+
139+
`More details <https://github.com/rtfd/readthedocs-docker-images/blob/releases/2.x/Dockerfile>`__
140+
141+
3.0 (latest)
142+
~~~~~~~~~~~~
143+
144+
:O.S: Ubuntu 16.04
145+
:Conda: Miniconda 4.4.10
146+
:Python:
147+
* ``matplolib``
148+
* ``numpy``,
149+
* ``pandas``
150+
* ``pip``
151+
* ``scipy``
152+
:JavaScript:
153+
* ``jsdoc``
154+
* ``nodejs``
155+
* ``npm``
156+
:Other packages:
157+
* ``doxygen``
158+
* ``libevent-dev``
159+
* ``libgraphviz-dev``
160+
* ``libjpeg``
161+
* ``libxml2-dev``
162+
* ``libxslt1-dev``
163+
* ``pandoc``
164+
* ``plantuml``
165+
* ``textlive-full``
166+
167+
`More details <https://github.com/rtfd/readthedocs-docker-images/blob/releases/3.x/Dockerfile>`__
103168

104169
Writing your own builder
105170
------------------------

0 commit comments

Comments
 (0)