Ken Muse

Understanding the SLA of ARC
I’ve seen lots of teams trying to increase the availability of GitHub runners for their organization by implementing GitHub Actions Runner Controller (ARC). In some cases, they hope to try to exceed GitHub’s 99.9% SLA. Unfortunately, the math works against them. In this post, I’ll explain why.

Read this article

Windows Runners on Actions Runner Controller
One challenge with the GitHub’s Actions Runner Controller (ARC) is that it does not officially support Windows containers for the runners. With a little bit of work, though, it’s possible to make this configuration work on a hybrid Linux/Windows cluster.

Read this article

Automatic SSH Commit Signing With Dotfiles
With automation you can simplify many things as a developer. This includes automating the process of configuring commit signing with dotfiles.

Read this article

Catching Up On My Blog Posts

Catching Up On My Blog Posts

After a bit of a delay, I’m finally back and posting. More importantly, I’m finally caught up on finishing and releasing all of the posts I was developing before my unexpected surgery.

Read this article

Organizing Build Processes

Organizing Build Processes

Creating a well-organized build or release workflow is both an art and a science. Done properly, the process can be testable and maintainable, able to work on any CI/CD system. Like many things in software, there’s even a pattern that helps!

Read this article

The Image Factory Pattern

The Image Factory Pattern

Looking to maintain virtual machine or Docker images in the most efficient way possible? Trying to build an image for GitHub ARC and needing to ensure you’re always using the latest available base image and runner? Then what you need is an Image Factory.

Read this article

Shared Commits and GitHub Checks
It’s not unusual for teams to want to merge the same branch into multiple branches. If they create multiple pull requests from that branch to each of the other branches, they suddenly find that their Checks behave differently than expected and the branches start to share results. Understanding why this happens makes it easy to get Checks to behave as expected.

Read this article

The Hidden Dangers in Dependencies
What you don’t know can hurt you, especially when it comes to code. Dependency chains can tend to have more security considerations than most people realize. In fact, most dependencies have far more abilities than most developers realize …

Read this article

Forcing .NET Into Debug Mode
I previously mentioned that it’s possible to force a release build to act like a debug build. To do this, we need to understand how .NET knows when to treat an assembly as a debug build or a release build (hint: it’s not the AssemblyConfiguration attribute!). We also need to understand the options that the runtime provides for overriding the default settings. Time to explore how that process is implemented and the configuration options available for overriding those settings.

Read this article

Surviving A Dangerous Indigestion

Surviving A Dangerous Indigestion

A few weeks ago I went in for some simple tests as we tried to uncover the root cause of a sudden heartburn. With each test I took, we discovered that my condition was substantially worse than it seemed. I was running out of time quickly, and the doctors had to act fast.

Read this article