NVIDIA-NeMo / NVIDIA-NeMo/Automodel

Add job-to-Linear issue table to nemo-ci failure reports

Open
#3,568 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Automation ci
Dominant language
Python
Stars
960
Forks
316
Avg merge
3d 20h
Merged PRs (30d)
143

Description

Requests:

  • Add a job-to-Linear issue correspondence table to the nemo-ci failure follow-up output.
  • When nemo-ci runs a pipeline, reports failed jobs, and opens/updates Linear tickets, emit a searchable table that maps each failed job to the Linear issue tracking it.
  • The table should include at least: pipeline, failed job name, job URL, action (open, update, close when relevant), Linear issue identifier, Linear issue URL, title/root-cause bucket, and assignee when known.
  • Make this available in the Slack follow-up and/or generated artifacts so users can quickly search for “which ticket owns this failed job?”.

Implementation notes:

  • Current flow appears to bucket failures into failure_buckets.json, reconcile them in scripts/agent/linear_reconcile.py, write/open tickets through scripts/linear/linear_write.py, and render Linear follow-up messages through scripts/slack_notification/follow_up_reconcile.py.
  • linear_action_plan.json already carries per-test {name, job_url} on open/update actions, and linear_write.py stamps linear_identifier/url back onto opened actions after issue creation.
  • A durable implementation should preserve that per-test mapping after writes, then render/export rows like job -> Linear issue rather than only grouping by assignee or root-cause bucket.

Related context:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Trace the flow from failure_buckets.json through scripts/agent/linear_reconcile.py and scripts/linear/linear_write.py into scripts/slack_notification/follow_up_reconcile.py. Start by checking how per-test name and job_url data is preserved and how linear_identifier and url are stamped onto actions. Done means the Slack follow-up or generated artifact contains searchable rows mapping each failed job to its Linear issue, including the requested fields.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ci-cd, devops, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.