Ken Muse
How to Dynamically Authenticate With Git
Need to authenticate with different Git repositories using various credentials? This post explores how to dynamically authenticate with Git using credential helpers, environment variables, and secret management systems.

Read this article

How Does Git Authentication Work?
Ever wondered how Git actually authenticates with remote repositories? Ever needed to configure different credentials to access different repositories? This article dives into the inner workings of Git authentication, exploring the role of credential helpers, how they are implemented, and how to customize them for your needs.

Read this article

What's New in GitHub Actions Runner Controller
Over the last three months, the GitHub team behind Actions Runner Controller (ARC) has released three updates. These included bug fixes, performance improvements, improved configurability, and a new approach to metrics. In this post, I’ll cover some of the highlights of these releases and what they mean for you.

Read this article

The Secret Life of Git Large File Storage
For most people, Git Large File Storage (LFS) is a black box. You install it and somehow Git handles large files differently. But how does it manage the files? How does it know how and when to upload the files? And how was this implemented using only native Git extensibility points? This post will uncover its secrets and how it uses Git hooks and filters to manage large files.

Read this article

Migrating Git With An LFS Configuration File
Migrating repositories with LFS can be tricky. This is especially true when the repository is configured to use an LFS endpoint that is separate from the Git repository. Learn how to safely migrate repositories that are using .lfsconfig to manage the storage location.

Read this article

Using A Kubernetes Native Sidecar With GitHub ARC
Kubernetes native sidecars can create more reliable deployments. In this post, we’ll explore how to improve the Docker-in-Docker implementation in GitHub Actions Runner Controller (ARC) using native sidecars.

Read this article

Migrating Submodules That Use Large File Storage (LFS)
Submodules can require some additional considerations during a migration. If the submodule repositories have large files that need to be migrated to LFS, the change to the commit IDs can break the submodules. This post explains why the problem happens, how to avoid issues during migration, and how to fix problems when they happen.

Read this article

What Is a GitHub Tool (And Why to Use Them)
Need to ensure that you’re using the right version of a CLI tool in your GitHub Actions? Want to be more resilient to change? GitHub Tools are the answer.

Read this article

Defining The Process for Securing Your Supply Chain
A company’s software and development practices are only as secure as their supply chain. This post will explore how to define a process for properly reviewing the supply chain using a GitHub Action as an example.

Read this article

How to Handle Step and Job Errors in GitHub Actions

How to Handle Step and Job Errors in GitHub Actions

In most cases, we write a CI/CD workflow where all of the steps succeed. If a step fails, the job and workflow fails. But what do we do when we need the workflow to handle a failing step or job?

Read this article