mcore-create-issue

Solid

Investigate a failing GitHub Actions run or job and create a GitHub issue for the failure.

AI & Automation 4 stars 0 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 83/100

Stars 20%
23
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Triage CI Failure into a GitHub Issue Investigate a failing GitHub Actions job, extract the root cause, and file a well-structured bug issue against `NVIDIA/Megatron-LM`. ## Workflow ### 1. Parse the URL The argument is a GitHub Actions URL. It will be one of: - **Job URL**: `https://github.com/<owner>/<repo>/actions/runs/<run_id>/job/<job_id>` - **Run URL**: `https://github.com/<owner>/<repo>/actions/runs/<run_id>` Extract `run_id` and, if present, `job_id`. ### 2. Identify failed jobs - If a `job_id` was provided, use that job directly. - If only a `run_id` was provided, list all failed jobs in the run: ```bash gh run view <run_id> --repo NVIDIA/Megatron-LM --json jobs \ --jq '[.jobs[] | select(.conclusion == "failure") | {id: .databaseId, name: .name, url: .url}]' ``` If multiple jobs failed, ask the user which one to triage, or triage all of them if they say so. ### 3. Fetch the failure logs For each failed job, retrieve the logs and narrow them down to the failure: ```bash # Pull the raw log and keep only error-bearing lines gh api repos/NVIDIA/Megatron-LM/actions/jobs/<job_id>/logs 2>&1 \ | grep -E "(FAILED|ERROR|\bError\b|assert|Traceback|Exception|##\[error\])" \ | head -200 ``` Also capture the full job name: ```bash gh run view --job <job_id> --repo NVIDIA/Megatron-LM --json name --jq .name ``` If the grep output is sparse, download the full logs and look for the pytest `FAILURES` section or the last non-zero exit signal. ### 4. Re...

Details

Author
yangwhale
Repository
yangwhale/CloseCrab
Created
6 months ago
Last Updated
today
Language
Python
License
Apache-2.0

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category