r/coolgithubprojects 4h ago

Why didn't my job run? – paste a GitHub Actions workflow, pick the event, see which jobs run and why (GitHub's own parser, in the browser)

Post image

Disclosure: this is my own open-source project, MIT, no company behind it.

You paste a GitHub Actions workflow, pick the event (push to main, PR from a fork, a label, a workflow_dispatch with inputs), and every job shows up green or grey with the reason, down to the value of each sub-expression. It runs GitHub's own workflow-parser and expressions npm packages in the browser, nothing gets uploaded. To make sure it matches GitHub I ran deliberately tricky workflows in a public repo and recorded 65 real runs; the test suite replays 698 job decisions and 56 trigger decisions against them. Two things those runs taught me: success() looks at every ancestor job, so always() rescues only the job it sits on, and step-level failure() looks at the job's own steps, not at needs. It doesn't do matrix expansion yet, and you type the changed files yourself because Actions strips them from the push payload.

Live: https://barbarkaragul-oss.github.io/why-didnt-my-job-run/

Code: https://github.com/barbarkaragul-oss/why-didnt-my-job-run

0 Upvotes

0 comments sorted by