30 November 2019
I submitted the last of the content for Longridge this week. That means that project is now into review, and should be going live next month. It’s been a bit longer to get here than planned, but I’m very pleased with the results.
And I kicked off building out the deployment infrastructure. I always like to get deployment up and running early: it’s one less thing to worry about later in the project. In this case, I’m doing things a little differently. We’re deploying the site to Github Pages, and using the just out-of-beta Github Actions as a continuous integration to do so.
I really like this setup. It’s similar to the way tools like Netlify work, but with a little more control in exchange for a little more complexity. Rather than being reliant on the few static-site builders that Github Pages allows you to use, we’re using Actions as our builder. That means on every push to our
masterbranch, an Action runs on a virtual machine. That Action checks out our code, installs dependencies (and caches them for future runs), and builds the site to a
dist/directory. And then it commits the contents of that directory back to our
That means we get continuous deployment of a static site on every push to
master, but without having to store the compiled artefacts in the repository. Which is exactly as it should be: the repository contains the source for the site, not the compiled code as well; it’s generated as necessary. This setup is working well with my temporary Parcel-based site, and it’ll be straightforward to move to using Hugo for the final site.
I’m impressed with Github Actions, and will consider it more for future tooling - the ability to run actions on a schedule means that many of the sites I’ve not moved to simpler builds or platform largely because of a lack of
cronon them… might now be possible to move to a static site, and a few scripts running on GitHub.
Finally, I took a quick look at the code for Hallin and got it spun up on my own machine - good enough going to be able to schedule a first meeting for that project.
A good week: lots of code, nice to be back in a client office again, and one project nearly on the runway.