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.



  1. Remember: yak stacks, like x86 stacks, grow down.