Automating CFML Library Releases

A man sleeps on a tree branch in a pose reminiscent of a tiger

This entry was last updated 2022-01-15 😎

This message keeps coming back into my life (not that I'm complaining)...

Publishing new versions of Taffy, my library for authoring REST API's in CFML, used to be too hard.

Not that it was hard, per se. But hard enough that I didn't do it as often as I would have liked.

I recently learned this lesson with this very website. Finally having it on a tech stack that makes it dead-simple to write and deploy new articles has meant that I'm writing much more often. (This is my 35th entry for 2021. Because of the friction involved in posting, I wrote 18 last year, and 13 the year before that.)

Compare that to which listed version 3.1.0 (from March 2016!) as the latest version until late November of '21, whereas version 3.2.0 was released in November of 2017, and 3.3.0 was released in August of 2021. Not only that, but there were additional changes since 3.3.0 that weren't included in a new version yet, because, well... My laziness was outweighing the toil of doing a release.

The Toil

Here's what's involved in releasing a new version of Taffy:

I almost forgot to include that last list item, which illustrates how annoyingly manual this whole thing is! 😂

Now fully automated! 🤘🏻 😎


With all of that done, the hardest part of doing a release now is keeping track of what's been merged so that I know whether I should bump the major/minor/patch version number. I've got a system for doing this manually, and the fewer updates that I include per version the easier this will be to keep track of, so I'm hopeful that releases will become more frequent and smaller, now.

You can see the current state of my release automation here.


It's like comments, but you do it on Twitter.

Discuss on TwitterEdit on GitHubContributions