Building internal Automation 0 ▲ Adam Young's Web Log 3 hours ago · 6 min read1240 words · Tech · hide One of my responsibilities on the Linux Kernel team is to build our version of the Linux Kernel from distinct branched in a git repo. Our approach is a little different than most organizations, and so we have custom code to implement our logic. Over time, I have come to realize a few patterns that make our lives easier in how I approach organizing this code. Table of contents Use a real programming language Wrap Shell Commands Unit Tests Break up Long Running Tasks Don't functional test against production Run it from the command prompt first Documentation lives in the repository with the project Avoid config files Use a real programming language We chose Python. Maybe Rust would have worked as well. Part of the decision is based on what the team can easily consume. We don’t want to stick a non-trivial language context-swap into the process. Wrap Shell Commands Since we use python, we use plumbum to execute commands. This is the norm, not the exception: we even use commands when there… Commenting on Bubbles has been removed. Why? If you want to talk about this post, write to the author, use the comments on their blog if it has them, or reply with a "RE:" post on your own blog. Suggestions? feedback@bubbles.town