On the last Office Hours call, I promised an update on the Docs situation. Here it is.
1. Asheesh (paulproteus@github) was kind enough to give me push access to the gitwebpages grain on
alpha.sandstorm.io which hosts the content for
https://docs.sandstorm.io . Jacob also has push rights to it. So in theory, he and I are both now able to push manual spot-fixes to the live docs.
2. However, it seems that nobody has ever pushed such manual spot-fixes before; all previous pushes appear to be autogenerated from the 'generate.sh' script in the sandstorm repo.
3. Also, there appears to be no staging area for the docs, and since Asheesh didn't send me the .spk for his gitwebpages app, I wasn't able to create a new grain to push to as a staging area. For this and the previous reason, I'm hesitant to push to the live site for fear I might break something.
4. Asheesh said that he thinks the gitwebpages spk that's serving the live docs is up-to-date with the code in
https://github.com/paulproteus/gitwebpages-sandstorm . However, I was unable to build a working spk from that code out of the box, due to some apparent bit-rot. I believe I have fixed those issues and will send a pullrequest. In the meantime I have re-keyed, revved the version, and uploaded the spk here, in case anyone wants to try it:
5. I used that spk to create a new grain on my own sandstorm instance, to serve as a staging-area to test out doc generation/push/hosting:
(uptime not guaranteed, as this is running on my experimental Intel Compute Stick server in my house).
6. The sandstorm repo contains a doc-generation script, and instructions to run it. They also did not work for me out-of-the-box, apparently due to some more bitrot. I believe I have fixed the bitrot locally and will send a pullrequest. (There are a few lingering warnings I still want to investigate). In the meantime, I have deployed the generated docs to the above-linked staging grain. They look generally OK to me. If people generally agree, I can push this new set of generated docs to Asheesh's grain, and thus refresh the live docs to be current with sandstorm's master branch. Let me know if you feel strongly either for or against this action.
7. In addition to the gitwebpages grain, there's apparently a separate Davros grain for hosting static images. (E.g. the faq links to
https://alpha-evgl4wnivwih0k6mzxt3.sandstorm.io/works-fine.png ). It looks like Asheesh was manually uploading new images here. I've asked for access. I haven't yet verified whether there are any new images that need to be uploaded in the current doc refresh.
8. One possible next step, now that I kinda understand how this all works, is to set up a github pipeline to generate & deploy the docs automatically. A second possible next step, discussed on the call, was to either pull the latest gitweb code into the gitwebpages fork, or else integrate the gitwebpages changes back into upstream gitweb sandstorm spk (Asheesh explained that this was undesirable because gitwebpages uses the deprecated webkey approach). A third possible next step is to rip out the gitwebpages stuff entirely, and simply push all the generated content (html and images) directly to the static davros grain. (I still don't really understand the point of using gitweb to publish static content. Is it supposed to make diffing the generated docs easier? We could have a separate repo for that, pushed to as part of the deployment pipeline, but the content doesn't have to get served out of there. Is it supposed to make deploying to the new site as easy as "git push"? That goal seems frustrated by the need to separately upload images to a davros grain; and in any case, once the github pipeline is set up, a simple "git push" will still be sufficient to deploy. Is there some other benefit that I'm missing?) I am happy to hear any and all thoughts regarding these or other next steps.
Cheers,
--Adam