Cees-Jan

Always recreating a TerraForm resource

Force fully recreating a TerraForm resource is usually ill-advised, however, in some very specific situations this might exactly what you want. In my TerraForm set up I have two of such situations. One piece of software somehow stops working when no configuration is deployed, and the other's Helm Chart tries changing something that isn't allowed to change on a statefullset. The best course of action would be to figure out why, but sometimes you just don't want to and find a day to do the next somewhat acceptable thing: Uninstall and install them again.

Yellow Caution tape

Photo by Aviz from Pexels


Read on →

Categories: TerraForm Tags: TerraForm

Cees-Jan

Building fast Docker based GitHub Actions

One of my pet peeves when using GitHub Actions are Docker based Actions that build on every single run. It’s such a wasteful and error prone way to create an action. Not only does it take longer to set up the action when you run it due to whatever command is ran in there, also any issue on the network will make it fail and requires human intervention to start it up again. In this post I’ll go over my set up of using tagged images hosted on Docker Hub/GitHub Container Registry, and how to make the username/action@v1 way of versioning Actions work with that.

Containers moving fast along the railroad

Photo by James Wheeler from Pexels


Read on →

Categories: GitHub Actions - Docker - PHP Tags: GitHub Actions - Docker - PHP

Cees-Jan

Testing GitHub Actions

When I first started creating my first GitHub Actions testing them wasn’t much of a thing. It mostly happened by doing some form of throwing different scenarios at it and manually looking at the result. At least that was it for me. More complicated actions had unit tests but no assertions on the workflow level. That changed when GitHub decided to change the way an action (or anything in a workflow) can set outputs.

Testing GitHub Actions depicted as the StarGate

Photo by Tima Miroshnichenko from Pexels


Read on →