This project hosts the Slicer API documentation served from http://apidocs.slicer.org.
Documentation is automatically generated and pushed to the gh-pages
branch configured as a GitHub Pages source.
The slicer-apidocs-builder tool is used within a CircleCI build to checkout Slicer source code, build doxygen documentation and publish generated html pages.
Each time the main
branch of https://github.com/Slicer/Slicer is updated or each time a new release tag
is pushed, the generated documentation is either added to the main
folder or added to a new folder
named after the release tag. Then the updated content is pushed to the gh-pages
branch.
The simple GitHub post-receive web hook handler triggering a CircleCI build is github-circleci-trigger. It is implemented as a Flask application hosted on a free heroku instance.
After some time, the amount of data published on the gh-pages
exceeds GitHub recommended size of 1GB.
To cleanup the repository, a scheduled workflow associated with this project
will be triggered weekly and will execute gh-pages-squash.sh script.
The script simply do a soft reset, amend the first commit and force push the branch gh-pages
.
- Generate GitHub token - See here
This is useful to debug the workflow without having to wait.
GITHUB_TOKEN=<YOUR_GITHUB_TOKEN> ./trigger-workflow-squash.sh
It is covered by the Slicer License:
https://github.com/Slicer/apidocs.slicer.org/blob/main/License.txt