The First Unlock after Astro

Time to move at agentic speed, fixing structural debt with npm and GitHub

What’s better than merge to deploy

The prior version of this website actually had a pretty simple and rudimentary deployment process to GitHub Pages. It was just merge to main and wait a few minutes for the content to deploy and caches to refresh. A pretty easy process all things considered.

But that had one constraint that was a hidden cost, the merge to main needed the static content fully rendered. Not like a Hugo server actively running content or even a build+push to /dist after merge. Nothing that fancy. Partly, I am not super in tune with DevOps, but doubly so when mixing DevOps with Go. Not my cup of tea.

Using GitHub Actions to make even the merge automatic

I always knew GitHub Actions would be a huge unlock if I could add that into the flow for merges of the template and MD/JSON content. Just needed to move to tooling I am more familiar with, the JS ecosystem. And Astro was a core piece to allow me to connect the dev tooling and branches and repos behind the scenes to allow a merge to main in the content repo to automatically make a commit + deploy into the public static content repo that actually powers this site.

The PDF Wrinkle

And if I did not have PDF downloads of specific pages here to automatically keep those files always up to date. This would have been a piece of cake actually. But waiting to fully automate this on GitHub Actions meant slaying the beast of generating the CSS-styled PDF via GitHub Actions.

Being immersed in the JS world, I know the solution here is to just use more JS via Chromium! Using Chromium to bake the PDF into the deploy bundle before merge was just the last piece left to getting this to have a true CI/CD pipeline where merges of content automatically build and release the build, publicly served website and content.

Because in the Hugo era, I was out of my wheelhouse on adding in PDF machinery, so I just paid the cost to just do it by hand. The cost was actually seconds of time to use Chrome myself to bake the PDFs. But it was just one thing that was a nitpick of my own developer experience. Could I have solved this programmatically? Probably. But most likely would not have been worth the time investment to get Hugo on GitHub Actions with PDF when I was itching to move to something fresh.

This new era

This lets me just make merges to content and even have AI assist with small things here and there, but also to just code from a phone, tablet, and stuff beyond a traditional PC. Who knows what the next medium to do programming will be, given the proliferation of AI coding agents these past few years.

But this is one of likely many payoffs coming down the pike with a move from Hugo to Astro. Unlocking the world of npm packages. And now, being on GitHub Actions, having some DevOps and DevEx improvements to just how this site is built, deployed, and maintained.