
When bash gets too wild: rewriting my publish pipeline in Go
There is a particular kind of technical debt that only grows in shell scripts. It starts innocently: a sed command to strip some quotes, a grep to pull out a frontmatter field, a jq one-liner to map tags. Each fix is small and defensible in isolation. But give it a few months and you have something that works in exactly the conditions it was written for and fails in ways that are almost impossible to reason about. That is where I ended up with the publish pipeline for this blog, and it did not even take months. We built it fresh, but the pace of iteration compressed what normally takes a year into days. The workarounds accumulated just as fast. The pipeline cross-posts markdown files to Hashnode and Dev.to via their APIs. It lives in a GitHub Actions workflow, and it started failing almost immediately: quoted YAML values, tags with hyphens, multi-line frontmatter. Each failure led to another workaround: quote-stripping logic, a tag glossary loaded via jq , conditionals that were more i
Continue reading on Dev.to DevOps
Opens in a new tab



