Controlling the yak stack
A-yak-shaving I will go, a-yak-shaving I will go
I'll update the CI and then the build
Then implement my feature and push to the source repo
— Kamal Marhubi (@kamalmarhubi) May 27, 2015
Today, I was trying to make a small improvement to pycapnp, the Python implementation of Cap’n Proto. This isn’t a very big change: it’s mostly adding a few lines at the end of a big conditional to make the library a better Python citizen.
But the library has tests and continuous integration set up. These are both awesome things to have, except for the part where they don’t work for me. Here is my current yak stack1:
- the tox tests don’t run properly on Linux, so I
modified the
tox.ini
to remove a setting I think is OS X specific, fixing tox on my machine - I need to make sure the CI passes, so I fork the repo on GitHub, sign up for Travis CI, and add my fork to Travis
- the Travis build fails because my build is using the new container
based infrastructure, which doesn’t allow setuid programs like
sudo
to run, so I started trying to port the CI build to the new infrastructure
I think the third step was where I could have stopped. If I’d tried finding out how to opt out of the container infrastructure, I might have been able to move on.
At least that is a good starting point for tomorrow.
-
Remember: yak stacks, like x86 stacks, grow down. ↩