Skip to content

Commit 1c1fd37

Browse files
committed
Merge tag '3.7.5' into rel
2 parents ab81a13 + 43dd106 commit 1c1fd37

40 files changed

+1509
-349
lines changed

CHANGELOG.rst

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
Version 3.7.5
2+
-------------
3+
4+
:Date: September 26, 2019
5+
6+
* `@davidfischer <http://github.com/davidfischer>`__: Remove if storage blocks (`#6191 <https://github.com/readthedocs/readthedocs.org/pull/6191>`__)
7+
* `@davidfischer <http://github.com/davidfischer>`__: Update security docs (`#6179 <https://github.com/readthedocs/readthedocs.org/pull/6179>`__)
8+
* `@davidfischer <http://github.com/davidfischer>`__: Add the private spamfighting module to INSTALLED_APPS (`#6177 <https://github.com/readthedocs/readthedocs.org/pull/6177>`__)
9+
* `@davidfischer <http://github.com/davidfischer>`__: Document connected account permissions (`#6172 <https://github.com/readthedocs/readthedocs.org/pull/6172>`__)
10+
* `@stsewd <http://github.com/stsewd>`__: Require login for old redirect (`#6170 <https://github.com/readthedocs/readthedocs.org/pull/6170>`__)
11+
* `@humitos <http://github.com/humitos>`__: Remove old and unused code (`#6167 <https://github.com/readthedocs/readthedocs.org/pull/6167>`__)
12+
* `@stsewd <http://github.com/stsewd>`__: Clean up views (`#6166 <https://github.com/readthedocs/readthedocs.org/pull/6166>`__)
13+
* `@stsewd <http://github.com/stsewd>`__: Update docs for sharing (`#6164 <https://github.com/readthedocs/readthedocs.org/pull/6164>`__)
14+
* `@pyup-bot <http://github.com/pyup-bot>`__: pyup: Scheduled weekly dependency update for week 36 (`#6158 <https://github.com/readthedocs/readthedocs.org/pull/6158>`__)
15+
* `@saadmk11 <http://github.com/saadmk11>`__: Remove PR Builder Project Idea from RTD GSoC Docs (`#6147 <https://github.com/readthedocs/readthedocs.org/pull/6147>`__)
16+
* `@ericholscher <http://github.com/ericholscher>`__: Serialize time in search queries properly (`#6142 <https://github.com/readthedocs/readthedocs.org/pull/6142>`__)
17+
* `@humitos <http://github.com/humitos>`__: Allow to extend DomainCreate view (`#6139 <https://github.com/readthedocs/readthedocs.org/pull/6139>`__)
18+
* `@saadmk11 <http://github.com/saadmk11>`__: Integration Re-sync Bug Fix (`#6124 <https://github.com/readthedocs/readthedocs.org/pull/6124>`__)
19+
* `@stsewd <http://github.com/stsewd>`__: Don't log BuildEnvironmentWarning as error (`#6112 <https://github.com/readthedocs/readthedocs.org/pull/6112>`__)
20+
* `@dojutsu-user <http://github.com/dojutsu-user>`__: Add Search Guide (`#6101 <https://github.com/readthedocs/readthedocs.org/pull/6101>`__)
21+
* `@saadmk11 <http://github.com/saadmk11>`__: Add PR Builder guide to docs (`#6093 <https://github.com/readthedocs/readthedocs.org/pull/6093>`__)
22+
* `@dojutsu-user <http://github.com/dojutsu-user>`__: Record search queries smartly (`#6088 <https://github.com/readthedocs/readthedocs.org/pull/6088>`__)
23+
* `@dojutsu-user <http://github.com/dojutsu-user>`__: Remove 'highlight' URL param from search results (`#6087 <https://github.com/readthedocs/readthedocs.org/pull/6087>`__)
24+
125
Version 3.7.4
226
-------------
327

Loading
Loading

docs/_static/security/pgpkey.txt

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
Comment: GPGTools - http://gpgtools.org
3+
4+
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
52+
wtRaD9li
53+
=LjIC
54+
-----END PGP PUBLIC KEY BLOCK-----

docs/commercial/sharing.rst

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,42 @@ Sharing
22
-------
33

44
.. note::
5-
This feature only exists on `Read the Docs for Business <https://readthedocs.com/>`_.
65

7-
You can share your project with users outside of your company.
8-
There are two ways to do this:
6+
This feature only exists on `Read the Docs for Business <https://readthedocs.com/>`__.
7+
8+
You can share your project with users outside of your company:
99

1010
* by sending them a *secret link*,
1111
* by giving them a *password*.
1212

1313
These methods will allow them to view a specific project inside your company.
1414

15+
Additionally, you can use a HTTP Authorization Header.
16+
This is useful to have access from a script.
17+
1518
Enabling
1619
~~~~~~~~
1720

1821
* Go into your *Project Admin* page and to the *Sharing* menu.
19-
* Under the *Share with someone new* heading, select the way you prefer (secret link or password), add an expiration date and a *Description* so you remember who you're sharing it with.
22+
* Under the *Share with someone new* heading, select the way you prefer (secret link, password, or HTTP header token),
23+
add an expiration date and a *Description* so you remember who you're sharing it with.
2024
* Click *Share!* to create.
2125
* Get the info needed to share your documentation with other users:
2226

2327
* If you have selected secret link, copy the link that is generated
2428
* In case of password, copy the link and password
29+
* For HTTP header token, you need to pass the ``Authorization`` header in your HTTP request.
2530

2631
* Give that information to the person who you want to give access.
2732

28-
.. note:: You can always revoke access in the same panel.
33+
.. note::
34+
35+
You can always revoke access in the same panel.
36+
37+
.. note::
38+
39+
Sharing using a password and a HTTP header token are currently in beta.
40+
If you want access to these features, email us to [email protected].
2941

3042
Effects
3143
~~~~~~~
@@ -40,6 +52,17 @@ Password
4052
********
4153

4254
Once the person you send the link to clicks on the link, they will see
43-
a *Authorization required* page asking them for the password you
55+
an *Authorization required* page asking them for the password you
4456
generated. When the user enters the password, they will have access to
4557
view your project.
58+
59+
HTTP Authorization Header
60+
*************************
61+
62+
You need to send the ``Authorization`` header with the token on each HTTP request.
63+
The header has the form ``Authorization: Token <ACCESS_TOKEN>``.
64+
For example:
65+
66+
.. prompt:: bash $
67+
68+
curl -H "Authorization: Token 19okmz5k0i6yk17jp70jlnv91v" https://docs.example.com/en/latest/example.html

docs/connected-accounts.rst

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Connecting Your Account
2-
-----------------------
2+
=======================
33

44
If you are going to import repositories from GitHub, Bitbucket, or GitLab,
55
you should connect your Read the Docs account to your repository host first.
@@ -18,3 +18,69 @@ and select `Connected Services <https://readthedocs.org/accounts/social/connecti
1818
From here, you'll be able to connect to your GitHub, Bitbucket or GitLab
1919
account. This process will ask you to authorize a connection to Read the Docs,
2020
that allows us to read information about and clone your repositories.
21+
22+
23+
Permissions for connected accounts
24+
----------------------------------
25+
26+
Read the Docs does not generally ask for write permission to your repositories' code
27+
(with one exception detailed below)
28+
and since we only connect to public repositories we don't need special permissions to read them.
29+
However, we do need permissions for authorizing your account
30+
so that you can login to Read the Docs with your connected account credentials
31+
and to setup :doc:`webhooks`
32+
which allow us to build your documentation on every change to your repository.
33+
34+
35+
GitHub
36+
~~~~~~
37+
38+
Read the Docs requests the following permissions (more precisely, `OAuth scopes`_)
39+
when connecting your Read the Docs account to GitHub.
40+
41+
.. _OAuth scopes: https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/
42+
43+
Read access to your email address (``user:email``)
44+
We ask for this so you can create a Read the Docs account and login with your GitHub credentials.
45+
46+
Administering webhooks (``admin:repo_hook``)
47+
We ask for this so we can create webhooks on your repositories when you import them into Read the Docs.
48+
This allows us to build the docs when you push new commits.
49+
50+
Read access to your organizations (``read:org``)
51+
We ask for this so we know which organizations you have access to.
52+
This allows you to filter repositories by organization when importing repositories.
53+
54+
Repository status (``repo:status``)
55+
Repository statuses allow Read the Docs to report the status
56+
(eg. passed, failed, pending) of pull requests to GitHub.
57+
This is used for a feature currently in beta testing
58+
that builds documentation on each pull request similar to a continuous integration service.
59+
60+
.. note::
61+
62+
:doc:`Read the Docs for Business </commercial/index>`
63+
asks for one additional permission (``repo``) to allow access to private repositories
64+
and to allow us to setup SSH keys to clone your private repositories.
65+
Unfortunately, this is the permission for read/write control of the repository
66+
but there isn't a more granular permission
67+
that only allows setting up SSH keys for read access.
68+
69+
70+
Bitbucket
71+
~~~~~~~~~
72+
73+
For similar reasons to those above for GitHub, we request permissions for:
74+
75+
* Reading your account information including your email address
76+
* Read access to your team memberships
77+
* Read access to your repositories
78+
* Read and write access to webhooks
79+
80+
GitLab
81+
~~~~~~
82+
83+
Like the others, we request permissions for:
84+
85+
* Reading your account information (``read_user``)
86+
* API access (``api``) which is needed to create webhooks in GitLab

docs/gsoc.rst

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -94,25 +94,6 @@ This could include:
9494
* Taking a swagger YAML file and generating HTML properly with Sphinx
9595
* Integration with our existing API to generate Swagger output
9696

97-
Autobuild docs for Pull Requests
98-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
99-
100-
It would be great to automatically build docs for Pull Requests in GitHub repos that our users have.
101-
Currently we don't support this,
102-
and it's one of our most requested features.
103-
104-
This would include:
105-
106-
* Modeling Pull Requests as a type of version alongside Tags and Branches
107-
* Modifying how we upload HTML docs to store them in a place like S3 for long term storage
108-
* Build integration with GitHub to send the status notifications when a PR is building and complete
109-
110-
More info here:
111-
112-
* https://github.com/readthedocs/readthedocs.org/issues/1340
113-
* https://github.com/readthedocs/readthedocs.org/issues/2465
114-
115-
11697
Build a new Sphinx theme
11798
~~~~~~~~~~~~~~~~~~~~~~~~
11899

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
Autobuild Documentation for Pull Requests
2+
=========================================
3+
4+
Read the Docs allows autobuilding documentation for pull/merge requests for GitHub or GitLab projects.
5+
This feature is currently available under a :doc:`Feature Flag </guides/feature-flags>`.
6+
So, you can enable this feature by sending us an `email <mailto:[email protected]>`__ including your project URL.
7+
8+
Features
9+
========
10+
11+
- **Build on Pull/Merge Request Event:** We create an external version and trigger a build for that version
12+
when we receive pull/merge request open event from the webhook.
13+
We also trigger a new build when a new commit has been pushed to the Pull/Merge Request.
14+
15+
- **Warning Banner for Pull/Merge Request Documentation:** While building documentation for pull/merge requests
16+
we add a warning banner at the top of those documentations to let the users know that
17+
this documentation was generated from pull/merge requests and is not the main documentation for the project.
18+
19+
- **Send Build Status Notification:** We send build status reports to the status API of the provider (e.g. GitHub, GitLab).
20+
When a build is triggered for a pull/merge request we send build pending notification with the build URL
21+
and after the build has finished we send success notification if the build succeeded without any error
22+
or failure notification if the build failed.
23+
24+
.. figure:: ../_static/images/guides/github-build-status-reporting.gif
25+
:align: center
26+
:alt: GitHub Build Status Reporting for Pull Requests.
27+
:figwidth: 80%
28+
:target: ../_static/images/guides/github-build-status-reporting.gif
29+
30+
GitHub Build Status Reporting for Pull Requests
31+
32+
Troubleshooting
33+
===============
34+
35+
After the feature is enabled on your project if everything does not work as expected,
36+
some common causes might be:
37+
38+
#. Project repository should be from GitHub or GitLab. This feature is only available for GitHub or GitLab.
39+
40+
#. Social Account (GitHub, Gitlab) is not connected with Read the Docs account.
41+
If your project repository provider is GitHub or GitLab you need to make sure
42+
that you Read the Docs account is connected with that providers social account.
43+
You can check this by going to your `profile settings`_.
44+
45+
#. Webhook is not properly setup. You need to make sure your webhook is properly setup
46+
to handle events. You can setup or ``re-sync`` the webhook from you projects admin dashboard.
47+
Learn more about setting up webhooks from our :doc:`Webhook Documentation </webhooks>`.
48+
49+
If you have tried all the above troubleshooting and still getting issues,
50+
please let us know by sending us an `email <mailto:[email protected]>`__.
51+
52+
.. _profile settings: https://readthedocs.org/accounts/social/connections/

docs/guides/index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ These guides will help you customize or tune aspects of the Read the Docs build
3232
.. toctree::
3333
:maxdepth: 1
3434

35+
autobuild-docs-for-pull-requests
3536
build-notifications
3637
build-using-too-many-resources
3738
technical-docs-seo-guide
@@ -40,6 +41,7 @@ These guides will help you customize or tune aspects of the Read the Docs build
4041
environment-variables
4142
feature-flags
4243
google-analytics
44+
searching-with-readthedocs
4345
sitemaps
4446
specifying-dependencies
4547
wipe-environment

0 commit comments

Comments
 (0)