Currently, there is some difficulty getting https://doc.wikimedia.org/mw-tools-scap/ to publish from differential/phab (T117431).
The main roadblock seems that `$ZUUL_UUID` is used as a sort of shared random number from the `{name}-tox-doc-publish` job template.
`$ZUUL_UUID` is used in the `docs-publish` job (in `publish.yaml`):
set -u
echo "Making sure that destination does not contain unset variables (like DOC_SUBPATH, see zuul/doc_functions.py): {docdest}"
[ $ZUUL_UUID ]
rsync --recursive "{docsrc}/" "rsync://10.68.16.255/doc/$ZUUL_UUID"
echo
echo "Publishing to https://doc.wikimedia.org/{docdest}/
The $ZUUL_UUID is then passed and used by the `publish-on-gallium` job that does the actual publishing of docs:
set -u
echo "Publishing $ZUUL_PROJECT from labs to prod"
echo "Zuul UUID: $ZUUL_UUID"
echo "..."
[ $ZUUL_UUID ]
LOCAL_DOCROOT="/srv/$WMF_CI_PUB_DOCROOT"
if [ ! -d $LOCAL_DOCROOT ]; then
echo "Error: Invalid docroot. Directory $LOCAL_DOCROOT must exist, aborting."
exit 1
fi
LOCAL_DEST="$LOCAL_DOCROOT/$WMF_CI_PUB_DEST"
mkdir -p "$LOCAL_DEST"
rsync --recursive --delete-after "rsync://10.68.16.255/doc/$ZUUL_UUID"/ "$LOCAL_DEST"
LOCAL_VHOST=$(echo $WMF_CI_PUB_DOCROOOT | awk -F'/' '{ print $3"."$2"."$1 }')
echo
echo "Published to https://$LOCAL_VHOST/$WMF_CI_PUB_DEST/"
The `$ZUUL_UUID` (and to a more trivial extent `$ZUUL_PROJECT` [just an `echo`]) are the only dependencies that the `*-tox-doc-publish` jobs have on zuul. By removing the `$ZUUL_UUID` dependency and replacing it with something (`$RANDOM` or `uuidgen` (from `uuid-runtime`?)) we could trivially generate docs from any scm.