Blog
Transform your software engineering practices with GitHub Enterprise
4 Oct 2022
Go beyond knowing GitHub as the home of open source and explore how GitHub Enterprise can help you transform your software engineering organization and practices.
GitHub for All - Overview
31 Jul 2022
GitHub is one of my passion areas. You may have realised that already, with the amount of content that I've written about it. That's only going to continue, because I've recently been hired there as an Enterprise Advocate. I've been supporting customers in their DevOps journey for the past 9 years or so. Interestingly, there are some reoccurring themes that I've found that are common. One of those themes is that DevOps is an App Development concept. In fact, it's something that can be applied across domains (e.g. Infrastructure, Data, etc.) This is the start of a new blog series that will address those common themes, particularly in the context of GitHub.
Interfaces in Go
16 May 2022
In this post, I'll be talking about how to use interfaces in Go. This is a continuation of my learning using the Go language. I'll use interfaces to create an application that interacts with several types of bank accounts.
Using GitHub Actions to summarise your Go tests
16 May 2022
GitHub recently posted about a new GitHub Action that can be used to summarise your test results. The action is called test-summary/action, available at github.com/test-summary/action. There are several examples on how to use the action at github.com/test-summary/examples. However, there were no examples on how to use this with Go. I contributed a pull request which showed how to achieve this. In this post, I will show how to use the action with Go.
Go Pointers - Using the & and * operators
1 May 2022
I'll be transparent. The purpose of this post is to help with my own understanding of the Go & and * operators. It's going to be a very short post, and I'm going to try to explain the concepts in a way that I can understand. I've used these operators in C previously, but whenever I'm using them - I always end up having to remember the syntax / which operator is which / what they do. For whatever reason, it doesn't always come intuitively to me.
Enqueue and Dequeue messages locally with dapr, Azure Service Bus and Azure Storage Queues
26 Apr 2022
In a previous blog post, I provided an overview of the Distributed Application Runtime (dapr) and explained how it is a useful framework when building microservices. In this blog post, I will show you how to use dapr to enqueue and dequeue messages locally with Azure Service Bus and Azure Storage Queues.
Set up your Go development environment with Visual Studio Code and Windows Subsystem for Linux (WSL)
26 Apr 2022
Over the past few weeks, I have been working on a new set of pet projects. I've wanted to learn Go for a while, so I thought this could be a great opportunity to get hands on and try it out. It's fair to say that my development environment was 'functional', but I wanted to revisit it to make sure that I could get the best out of it. In this blog post, I'm going to walkthrough the process of setting up Go on my machine, and then the experience of using Visual Studio Code and Windows Subsystem for Linux (WSL) with Ubuntu.
Using GitHub Actions, Azure Functions, Azure API Management and Google Analytics to display top posts on a Hugo Static Site
13 Mar 2022
In this post, I show how I use GitHub Actions to call an Azure Function (through Azure API Management) that interacts with Google Analytics as part of the process to build my Hugo Static Site. The end result is that top posts are pulled into the Static Site Generation build process, rather than calling the Google Analytics API through JavaScript at runtime.
Using GitHub Actions and OpenID Connect to deploy Static Web Apps to Azure
22 Feb 2022
Back in November, GitHub announced its OpenID Connect capability for cloud deployments was generally available. This has been on my list to try out, and I finally managed to get around to it! With scenarios like this, I prefer to do something real and hands-on, rather than mocked, or a proof of concept. I decided to refactor my GitHub Action workflows for cloudwithchris.com, removing the need for secrets stored in GitHub. In this post, I outline my journey through this.