-
Notifications
You must be signed in to change notification settings - Fork 458
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
STYLE: Update CONTRIBUTING.md to test slicer/apidocs webhook #690
base: master
Are you sure you want to change the base?
Conversation
Et voila ! It works, the following set of documentation are now automatically generated and published:
Note that each time a patch release is done (e.g infrastructureNow, few words about the infrastructure enabling this:
What is nice about heroku is that they provide a free "dyno" instance (512 MB RAM │ 1 web/1 worker) along with a pool of 1000 hours per account. The instance falls asleep after 30mins and is wake up fairly quickly. More than enough for implementing a simple webhook ! why a dedicated webhook ?We could have added/updated a travis/circleci/appveyor config directly within the Slicer project to build and publish the documentation but ... ... since we want the documentation to also be published for pull request and we do not want outside random developers to discover our secrets (aka GitHub token) that we would be using to publish the documentation, having a dedicated webhook allow to both nicely decouple things and leverage additional CircleCI workers. Notes:
nextHere is a list of todos:
Note also that since the whole system has been put together in only few days, I definitively expect some hiccup. screenshotswebhook in actionwebhook configuration |
The Doxygen publication Python script is great. I think the PR integration is "nice-to-have" but I wonder if it is worth the extra complication of hooks/Heroku/CircleCI/etc. Please consider whether this will be maintainable by community members. I'm not sure how Heroku and CircleCI permissions work, but I think we need to aim for several people having enough permissions to implement fixes independently. We can all figure this stuff out, but that is less likely to happen if we must also chase access to several different systems in order to even start debugging. (which is the case for the current API doc builder, as well as the nightly factory and other infrastructure) |
I agree, simpler is better and it would be important for all core developers to be able to access the infrastructure and troubleshoot problems. If external access to Kitware computers is difficult then we can set up documentation builds on perklab-factory and give remote access to all core developers. |
Thanks for the feedback. Just to refocus the discussion, in this case, building the doxygen per se was never the issue. The problem was:
After talking with @pieper and @mhalle, updating digital ocean to serve the page is not feasible. For that reason, we looked into github pages. The solution discussed in this PR is intended to:
Access to account by the community:
|
This PR is indented to test that the slicer API docs builder is effectively triggered.