Auto-deploying Rails 8 to staging with Kamal and a self-hosted GitHub Actions runner
Making every merge deploy staging automatically: a self-hosted runner, four walls in a row, and the Kamal secrets gotcha that took the longest to crack.
Notes on the software, games, and music coming out of Imperfect Systems.
RSS feedMaking every merge deploy staging automatically: a self-hosted runner, four walls in a row, and the Kamal secrets gotcha that took the longest to crack.
Writing down the rules for what to do when CI goes red on a solo Rails project, and the GitHub limitation that turned the merge gate into a load-bearing comment.
The GraphQL request I planned to intercept never fires: Medium server-renders its Apollo state. Three wrong turns and the wrappedJSObject fix that shipped.
Medium's API has no concept of a scheduled post. Phase 1: model the state manually with an append-only enum, and see if the friction justifies automation.
Building the cross-blog post list in blog-manager. SQLite enums, filter forms, and one trick to keep query params honest.
Page 52 of 53