Skip to content

fix(ci): test.yml's ci-fix job has no timeout-minutes — per-job gap the file-level check cannot see (#61 rule) #1326

Closed

Description

@dezren39

fix(ci): test.yml's ci-fix job has no timeout-minutes — per-job gap the file-level check cannot see (#61 rule)

Evidence

On main 91410958d4, .github/workflows/test.yml:491-503:

  ci-fix:
    needs: [unit, build, e2e]
    if: failure()
    permissions:
      id-token: write
      issues: read
      contents: read
    runs-on: ubuntu-latest
    steps:
      - uses: developing-today/code/.github/actions/pm-dispatch-ci-fix@main
        continue-on-error: true

The job has no job-level timeout-minutes, so a hang in the dispatch
action runs to the GitHub Actions default of 360 minutes. The job was added
in a8dfb81801 ("ci: add dispatch agents workflow + ci-fix hook (#979)")
without a cap.

#61 established the rule that every job in every workflow carries a
timeout-minutes cap, and #1184 fixed the same regression in
branch-cleanup.yml. Both were verified at file level — but test.yml does
contain timeout-minutes (on other jobs and on steps), so a file-level
grep -L check passes while this one job is uncapped.

Verified this run by parsing every workflow under .github/workflows/
and checking each runnable job individually: across all 28 workflow files,
ci-fix in test.yml is the only runnable job with no job-level
timeout-minutes (the jobs in agents.yml are reusable-workflow callers,
which cannot take the key). Comparable single-purpose dispatch jobs are
capped: notify-discord.yml's job at 10, branch-cleanup.yml's at 30.

Why it matters

Acceptance criteria

  • ci-fix in .github/workflows/test.yml has a job-level
    timeout-minutes (10 matches the comparable notify-discord dispatch
    job; any small explicit cap is fine).
  • A per-job scan of all workflows (parse YAML, check every runnable
    job) shows no remaining job without a job-level cap.
  • Nice-to-have: the per-job check is scripted somewhere durable (a
    script test or CI step) so the CI: add timeout-minutes caps to every job in every workflow #61 rule is enforced per job, not
    per file.

Activity

  1. added
    kind/ciCI/CD pipelines, workflows, and build automation
    task/small-fixQueue packet kind: bounded fix with reproduction and targeted tests
    source/creatorFiled by the new-issue-creator job
    priority/lowNice to have; do when convenient
    effort/xsTrivial: expected under 30 minutes of work
    on Nov 1, 2026
  2. dezren39 commented on Nov 1, 2026

    @dezren39
    Author

    🤖 Agent note · self-assigned

  3. added
    work/self-assignedAn agent grabbed this item directly, outside the queue
    and removed on Nov 1, 2026
  4. added a commit that references this issue on Nov 1, 2026
  5. dezren39 commented on Nov 1, 2026

    @dezren39
    Author

    🤖 Agent note · done

  6. added
    status/doneWork completed and verified
    and removed
    work/self-assignedAn agent grabbed this item directly, outside the queue
    on Nov 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    effort/xsTrivial: expected under 30 minutes of workkind/ciCI/CD pipelines, workflows, and build automationpriority/lowNice to have; do when convenientsource/creatorFiled by the new-issue-creator jobstatus/doneWork completed and verifiedtask/small-fixQueue packet kind: bounded fix with reproduction and targeted tests

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions