promptdojo_

GitHub Actions for model checks — what a green check does and doesn't mean — step 6 of 7

Build the job runner itself. Write run_job(steps) that executes a list of step dicts ({"name": ..., "ok": ...}) the way GitHub Actions does:

  • Before any failure: print ok <name> for each passing step.
  • At the first step with ok False: print fail <name>.
  • Every step after the failure: print skip <name> — it never runs.
  • Return "failure" if any step failed, else "success".

Then the script prints the job's conclusion.

Expected output:

ok install
ok pytest
fail data validation
skip eval gate
conclusion: failure

full-screen editor opens — close anytime to keep reading.