Capture the process for deploying updates to the handbook
The handbook source is owned by the Eclipse Dash project. Eclipse Dash committers have the normal sort of privileges that Eclipse committers typically have on Eclipse projects. The Eclipse Dash project provides a Maven-based build script to assemble the handbook, but does not actually provide any builds of the content.
At this point, we enter some grey area. While the project committers have control over the contents of the handbook, they do not all have the necessary privileges to deploy the handbook to https://eclipse.org/projects/handbook. The privileges necessary to deploy the handbook to that URL are provided to a subset of Eclipse Foundation staff.
The project does have a build.sh
script that executes the Maven build and moves the result of the build to a specific location in a clone of the www.eclipse.org/projects
directory. From there a manual commit and push is required to make the handbook "go live". The script includes a comment that says that "[t]his script likely only runs on Wayne's desktop" because is assumes a very specific configuration.
Note that the build.sh
also generates an update to commits.adoc
filed on Git log in a vain attempt to automate the maintenance of a change log. This needs to be replaced with something better (see #185 (closed)).
Needless to say, the bus factor on all this is pretty high.
At a minimum, we need to document how to configure the environment for deployment, and the steps involved.
We should also consider options to automate the deployment. There are some subtleties that we need to consider, however. In this context, the Eclipse Foundation wears two hats: they both provide committers to the project and are adopters of the project content. With our committer hats on, we don't get to decide what gets adopted. That is, strictly speaking, the content that gets deployed to Eclipse Foundation's website is at the discretion of the Eclipse Foundation, not the project. As an adopter, we can choose to deploy every time a commit is pushed to the main branch, but it's really not the project's scope of responsibility to maintain and run the script that does that (as it is, the build.sh
script is not really in the right place). Of course, we do need to balance all of this pedantry with what is practical and reasonable.