Flags GitHub Actions lines that stop working on a date - retired runner images, shut-down action versions, Node runtimes past end-of-life. Checked against any 'as of' date. Runs entirely in your browser — nothing is uploaded.
Same engine as the VS Code extension, byte for byte.
This page is the working piece. The full pack has everything below.
The GitHub Actions lines that stop working on a date, and the day each one stopped
Contract DevOps work is commonly quoted at $75-$150 an hour, so one licence is under half an hour of it.
Buy the full version — $29It reads GitHub Actions workflow files and flags every line that stops working on a date: retired runner images, action major versions whose backing service was switched off, Node versions past end-of-life, archived action repositories, and workflow commands the runner disabled. Each finding names the date it happened and the replacement line. Thirteen checks, all date-driven.
CI maintainers, platform engineers and solo maintainers who own the .github/workflows folder in a repository nobody has opened for a year. It is most useful right after an AI assistant or an old template produced the workflow, because those sources reproduce runner images and action versions that were correct on the day they were trained.
actionlint checks workflow syntax and expression types. Dependabot raises a pull request when an action has a newer tag. Neither one holds a calendar. Neither will tell you that the macos-13 image was removed on 2025-12-04, that upload-artifact v3 was switched off on 2025-01-30, or that Node 20 left maintenance on 2026-04-30.
Free covers one file completely: open a workflow in VS Code and all thirteen checks run with full messages and full dates, or paste the file into the web page instead. The paid part is scope and ownership - one command sweeps every workflow in the repository and writes a dated report file you keep.
Contract DevOps work is commonly quoted at $75 to $150 an hour, so one licence costs less than half an hour of it. The comparison that matters more is the release window: a job that names a removed runner image does not fail slowly or halfway, it refuses to start at all.
Every check is a date plus a replacement, held in one rules.json file, and the engine compares those dates against an as-of day you choose. Set the date back and the same file reports different findings, which is how you can see what your workflow looked like when it was written and what it looks like today.
One question, answered by the person who built it. Your email only if you want the answer sent.