machinekit-docs
machinekit-docs copied to clipboard
weird github issues since ca July 15 2016
I discovered preview and production builds were broken for over a week, see also discussuion at https://github.com/machinekit/machinekit-docs/pull/193
I think I patched it up, but frankly I do not understand the causality; factoids are:
- I used ssh://[email protected]/machinekit-ci/machinekit-ci.github.io to pull and force-push to the HTML storage repo
- this stopped working, I had to change the URI to use ssh://[email protected]/machinekit-ci/machinekit-ci.github.io (it uses the machinekit-ci SSH key pair though), and change the credential to use 'git' instead of 'machinekit-ci' - works now
- the git subtree pull of the machinetalk-protobuf repo stopped working with 'Working tree has modifications' (the rsync'd asciidoc files)
changing this to
# update the machinetalk-protobuf subtree
git stash
git subtree pull --message="machinetalk-protobuf subtree merge" --prefix machinetalk-protobuf machinetalk-protobuf master --squash
git stash pop
fixed it for now (both here and here)
very weird
the failures are partially jenkins - originated, and the cause is:
- jenkins supports fetching from several github repos into different dirs (fine)
- that I used to duct-tape together eg the protobuf docs
- however, the Github status setting plugin insists on setting the build status for ONE SHA only, and that is of course only present in one of the repos
- meaning status setting on machinetalk-protobuf fails because the SHA causing the build is not present there, its in mk/mk-docs
I dont understand jenkins git/github :-/
my workaround is to not use the jenkins git pull function for machinetalk-protobuf so the github plugin does not notice there is a second repo... YIKES
I think we are on even keel again
I fear we'll have to rethink a bit how jenkins is used - it is great at reacting to a single commit/PR but it I'm positively lukewarm using it as a duct-tape device pulling things together
it might be we need to farm out some steps into separate jobs; for instance, a push to machinetalk-protobuf should automatically update mk/mk and mk/mk-docs, with the subtree merge and result push to those repos being a separate job
this will work around the sore spot in jenkins, working with several git repos at once