I haven’t worked on this site in a long time but decided to give it a refresh. In fact, I think I stopped updates mid-post last time when I was working on setting up AWS Code Build/Deploy for doing CI/CD deployments. A lot has changed since 2020 and Github Actions is amazingly powerful. That being the case I decided to retool the CI/CD on the site and immediately ran into 3+ years of technical debt. That being the NodeJS deployment of Gatsby. Gatsby was previously the tool I used to create statically generated web content. As anyone who has worked with javascript/nodejs/npm knows, you can quickly fall into a rabbit hole of resolving dependency after dependency, especially when you’re working with code no longer being maintained. This proved to be more effort than I was willing to undertake at the moment and decided to throw it all out and start over, this time without NodeJS being involved. Found several candidates for static website generatation, but one written in Go jumped out at me called Hugo. It has templating, themes, and most importantly compatible markdown formatting. Converting from Gatsby to Hugo was mostly just copying the markdown files and the general new tool learning curve. All said and down I now have Github actions doing my linting, terraform plans, and test hugo builds when pushing outside my default branch. When merging with my default branch all of the same CI kicks off, followed by terraform apply (if applicable) and hugo artifact publishing. I’m still using cloud-front as my TLS endpoint and caching service. Check out the source if you’re interested:

https://github.com/sy-base/slashdev