python / python-docs-theme

Sphinx theme for Python documentation
Other
75 stars 58 forks source link

Previews in pull requests #70

Closed pradyunsg closed 1 year ago

pradyunsg commented 3 years ago

There's been interest expressed in this. This is me trying to have a dedicated place to track that whole discussion. :)


There are a bunch of options for what to do to get PR previews, to make life easier for reviewers of PRs to this theme.

The ones that I know of are:

Both of these platforms provide free hosting and the ability to preview PRs.

JulienPalard commented 3 years ago

I created a netlify account to poke around, but I'm at $DAYJOB, I'll continue poking around later.

pradyunsg commented 3 years ago

Netlify has an open source plan, that this project would qualify for: https://www.netlify.com/legal/open-source-policy

JulienPalard commented 3 years ago

Netlify asks for the "Act on your behalf" (WTF!?) permission on my github account in order to make it work, I won't give this, so I can't setup netlify (and I don't think anyone else should do, this permission is just plain scary).

We could create a dedicated low-permission github account to setup netlify, or try something else.

Would it work with readthedocs? I mean, to test it fully we need to setup language and version switchers, I don't see how it can work.

About trying something else, it's just a matter of adding an rsync line in the github action, and ... finding a server to host this. @ewdurbin any idea?

Maybe we could host this on a github page (like python.github.io/python-docs-theme/pr-123/), by pushing to the github page repo from the github action?

There may be leads around https://github.com/htmlpreview/htmlpreview.github.com too, if it works with js/css (would probably need to massvely rewrite links using sed in the action, leading to other bugs).

Tried to see if we could build a kind of http proxy around artifacts, like:

https://example.com/https://github.com/python/python-docs-theme/suites/2680278273/artifacts/59091318/index.html

which would download the zip, cache it, extract it, and provide asked content. But looks like we can't access artifact when not logged in...

Mariatta commented 3 years ago

We discussed adding netlify for the DevGuide here https://github.com/python/devguide/issues/463

In the end we ended up with using readthedocs preview capabilities.

I was wondering if we should have an org account on readthedocs. DevGuide's rtd account is currently a personal one.

CAM-Gerlach commented 1 year ago

FYI, the main Python documentation now has Netlify previews, in issue python/cpython#82041 / PR python/cpython#92852 , so there are examples of both platforms in use now for core Python infra.

hugovk commented 1 year ago

Please see PR https://github.com/python/python-docs-theme/pull/105.