A lot of writing on this blog stems from meta content about the blog. This is completely fine. It also helps me pinpoint that it’s been 9 years since I first moved my content into Jekyll.

I was using the integrated GitHub Pages functionality (a website that seems to have not changed much since I first migrated to it), but one of the issues I’ve written about it before is that I was locked to the version of jekyll, and didn’t have much control over the processes involved.

Recently I’ve been having issues where I’d have to deploy ‘noop’ changes just to force a re-build and new content to be published.

But as of today, I seem to have been succesfully able to use a new beta functionality, where my action can build the site, then I let actions/upload-pages-artifact and actions/deploy-pages take care of the rest.

I’m using a combination of the jekyll and jekyll-gh-pages starter workflows. (These are the suggestions that show up if you go to Actions > New Workflow on a repo). You can see the setup I’m using in .github/workflows/publish.yml (this may be further refined).

When changing from the existing method, I needed to go to Settings > Pages > Build and deployment, then change my Source from “Deploy from branch” to “GitHub Actions (beta)”, otherwise I’d get permissions errors on deployment. I also had to change the (inherited? defaulted? legacy’d?) branch protection on the github-pages environment, but I’m unsure if that was a configuration I made, or one that migrated with me.

In any case, I seem to have a blog that now deploys from a push to main to my website in just shy of 40 seconds, which is good enough for me!

Here’s to another nine years of futzing ✨