I’ve been having a lot of fun with GitHub Actions lately and wanted to document some of the features I regularly use, including some tips and tricks.
Continue reading 6 Nifty GitHub Actions Features 🚀6 Nifty GitHub Actions Features 🚀

A blog about things I learn at the keyboard: DevOps, CI/CD, Cloud, Automation, to name a few….
I’ve been having a lot of fun with GitHub Actions lately and wanted to document some of the features I regularly use, including some tips and tricks.
Continue reading 6 Nifty GitHub Actions Features 🚀One of the most frequently asked questions I get is how to test web apps that use Azure AD. Rather than repeating myself, I figured I’d write a blog post to expand on the official docs.
NOTE: the creepy feature image for this post was generated via DALL-E🤣
Continue reading Handling Azure AD Authentication with PlaywrightI wanted a place to capture a list of highlights that make Playwright awesome. Here it is, in no particular order:
Continue reading 25 reasons to choose Playwright as your next web testing frameworkModern web apps introduce some testing challenges — dynamic controls can cause flakiness and unexpected behaviors. This is where the magic of the Playwright locator API can help us build more resilient tests.
Continue reading Create resilient 🎭 Playwright e2e tests with locatorsNow that Playwright has a fancy new HTML reporter, I wanted to host test results to show the latest state of my GitHub Action test runs. Adding a step to my pipeline that publishes the results to GitHub Pages made this pretty simple.
Continue reading Publishing 🎭 Playwright test results to GitHub PagesHey, you. You’re not manually deploying your Azure Bicep Infrastructure as Code, are you?!? Let’s prevent that next production outage, help your team collaborate on changes, and enable more frequent deployments. In this post, I’ll outline what tooling is available to integrate Bicep in your pipelines, and some good practices for building and deploying.
Continue reading 💪 Azure Bicep CI/CD 🚀I wanted to document this after spending a frustrating amount of time troubleshooting getting this setup. I was getting this error when running Terraform Plan:
Continue reading Using Terraform’s Azure provider (azurerm) with GitHub Actions and Terraform Cloud
Error building AzureRM Client: obtain subscription() from Azure CLI: Error parsing json result from the Azure CLI: Error waiting for the Azure CLI: exit status 1: ERROR: Please run 'az login' to setup account.
Why would you choose Microsoft’s new Bicep DSL over HashiCorp’s Terraform? I would like to give you my perspective, as someone who ditched ARM templates for Terraform in most of my Infrastructure as Code projects. To set the context of this blog post, I’ll be talking about Azure focused customers. Also, I won’t be going over the basics of what Bicep is (that can be found in README here) or comparing it to other IaC solutions like Pulumi or Farmer. If there is interest, I can cover those in another blog post. This will be a direct comparison to Terraform.
Note: Opinions expressed are solely my own and do not express the views or opinions of my employer.
There are two main ways to create re-usable components for Azure Pipelines. I’ll review the pros and cons of each and talk about when it makes sense to use one over the other. Keep in mind that the two are not mutually exclusive, so it may make sense to use a combination of both.
Continue reading Azure Pipelines: YAML Templates VS. Custom TasksI’ve worked with quite a few teams who aren’t aware of, or forget about, the Definition of “Done”. In my opinion, this is one of the easiest, low effort, high impact elements of Agile that a team can adopt.
Continue reading The importance of the Definition of “Done”