Behat / docs

Behat documentation repository
http://behat.org
28 stars 69 forks source link

Integration with readthedocs is not working anymore #129

Closed stof closed 1 week ago

stof commented 5 years ago

This repo uses the old github service for the integration, which is shutdown.

We need to migrate to the webhook system.

@everzet could you either do it, or make me a maintainer on the RTD project so that I can do it ?

acoulton commented 4 weeks ago

@stof @everzet it looks like this is still an issue - certainly the most recent change (from 2021) in #130 doesn't appear to be deployed at https://docs.behat.org/en/v3.0/user_guide/configuration/suites.html

What can we do to help get this working again? It looks like potentially RTD is on a community account with a single login? Is there a way we can share that somehow to be able to debug / configure things in future?

I suppose another option would be to host the docs on github pages, so anyone with repo access can manage the build process etc - but obviously that misses a lot of features from RTD (particularly, the ability to serve different versions of the docs at the same time).

stof commented 4 weeks ago

@acoulton I never got access to the RTD account (which is why I never solved this)

It looks like potentially RTD is on a community account with a single login?

RTD supports adding multiple maintainers per project (and supports "login with github").

I suppose another option would be to host the docs on github pages, so anyone with repo access can manage the build process etc - but obviously that misses a lot of features from RTD (particularly, the ability to serve different versions of the docs at the same time).

This could be an option. but we will still need to have @everzet to be involved to grant us access to the account managing the DNS anyway.

Serving multiple versions can actually be done, if you make a build process for that (GitHub Pages support using GitHub Actions to deploy, for more flexibility than the classic builder building a Jekyll website from a branch)

acoulton commented 4 weeks ago

RTD supports adding multiple maintainers per project (and supports "login with github").

Ah, great. When I looked just now it looked like that might only be for the business plan. If we can share access that's probably simplest.

[GitHub pages] could be an option. but we will still need to have @everzet to be involved to grant us access to the account managing the DNS anyway.

I was just thinking if RTD access was challenging a DNS change would at least be a one-time thing.

Serving multiple versions can actually be done, if you make a build process for that (GitHub Pages support using GitHub Actions to deploy, for more flexibility than the classic builder building a Jekyll website from a branch)

True, I use that in a few places - but I don't think you can deploy a partial page (e.g. just one subdirectory of a bigger site). So although possible, it would be more challenging to replicate things like the RTD dynamic pull request preview without building (or stealing from other people) quite a bit of wiring ourselves. And that would be quite useful to have.

stof commented 4 weeks ago

the feature that is only for the business plan is the automatic synchronization of access with GitHub. On the open-source plan, admins need to be added manually in RTD.

acoulton commented 4 weeks ago

Ahh, perfect - thanks :)

acoulton commented 3 weeks ago

@everzet sorry to chase but please could you add me as a maintainer on ReadTheDocs?

We're starting to get some updates coming through and I'd like to get it publishing again as soon as possible. Thanks :)

acoulton commented 2 weeks ago

To update, I picked up with @everzet offline on Friday and he added me as an RTD admin.

I have fixed the issues that were preventing the docs building in #152 and #153.

They are now live with all the recent changes, and will rebuild automatically on every merge to v3.0: image

Annoyingly, it looks like RTD doesn't provide a commit status for builds on the main branch, only for PRs. I've raised that with them https://github.com/readthedocs/readthedocs.org/issues/11739 and in the meantime will add a README with a build status badge and link to the build history page on RTD.

acoulton commented 2 weeks ago

@everzet the only thing I can't do on my own is get it automatically building Pull Requests. It looks like github is not sending pull_request webhooks to RTD.

I've made that work on my fork. I have also been able to force a successful PR build here in #152 by taking a webhook that was sent for my fork, modifying the payload & re-signing it for the behat/docs repo, and manually sending it to RTD.

Based on that and the RTD troubleshooting docs, I'm 99.9% sure the only thing required is either:

Both of those need to be done by a github user with admin permissions on this repo. Please could you either try the above on RTD or bump my privileges here so I can sort it? Thanks.

everzet commented 1 week ago

Deleted and recreated the web hook. Sorry for the delay. Hopefully things start flowing now

acoulton commented 1 week ago

Thanks very much @everzet - can confirm the PR builds are now working as expected. Appreciate you doing that.