-
Notifications
You must be signed in to change notification settings - Fork 88
Explanation of Documentation Setup
Stefan Appelhoff edited this page Dec 7, 2023
·
6 revisions
relevant issues and PRs:
- https://github.com/mne-tools/mne-bids/pull/364
- https://github.com/mne-tools/mne-bids/pull/366
- https://github.com/mne-tools/mne-bids/pull/367
- https://github.com/mne-tools/mne-bids/pull/369
- https://github.com/mne-tools/mne-bids/pull/370
- https://github.com/mne-tools/mne-bids/pull/371
General workflow:
- CircleCI builds the documentation on each PR and uploads artifacts for inspection
- once a PR is merged and CircleCI thus runs on the
main
branch, the deploy job is being run- the deploy job takes the built docs and pushes them to a
dev
directory on thegh-pages
branch, leaving all other files and other folders alone
- the deploy job takes the built docs and pushes them to a
- On the
gh-pages
branch there are several other subdirectories next to the already mentioneddev
directory:stable
v0.1
v0.2
- etc.
- --> Each of these directories contains the corresponding docs, manually built and pushed to the
gh-pages
branch by a maintainer who performs a release
- Next to the doc subdirectories, there are two more files, which were added manually:
-
index.html
, which re-directs users to the stable docs in thestable
subdirectory -
.nojekyll
, which prevents GitHub from performing any jekyll related jobs
-
- Each documentation contains a dropdown menu (supplied through a template extension) to select a different version ... linking to the docs in another subdirectory
- Note: A given version always contains a link to stable and dev version
- Note: A given version furthermore contains links to all previous versions, but NOT the following versions.
- E.g.,
v0.2
has links to stable (which could currently bev0.6
), dev, andv0.1
... but not versionsv0.3
,v0.4
,v0.5
further notes:
- the currently stable docs are actually duplicated:
- once in their own
vX.Y
directory - another time in the
stable
directory
- once in their own
- this is important to get a meaningful link:
mne.tools/mne-bids/stable
instead of.../vX.Y
General workflow:
- The docs were being built via a
make install
call and then uploaded (first manually, but later on via CircleCI) to thegh-pages
branch. - This was done upon each stable release, hence only the stable docs were available.
- Later on (2019-07-09), the latest (dev) docs were available through the CircleCI build artifacts, which can be linked to by constructing a link with some keywords:
https://circleci.com/api/v1.1/project/github/mne-tools/mne-bids/latest/artifacts/0/html/index.html?branch=main
- The condition for this is, that the last CircleCI job to run in a build will produce the
html/index.html
artifact. - see #216
- Issue: Previous doc versions were not available, no dropdown menu to select dev vs. stable docs