|
21 | 21 | name: Post weekly Dependabot summary |
22 | 22 | runs-on: ubuntu-latest |
23 | 23 | environment: dependabot-summary |
| 24 | + env: |
| 25 | + # Severities surface in the actions list when their remaining TTR drops |
| 26 | + # below this many days. Override via repo/env var ACTION_THRESHOLD_DAYS. |
| 27 | + THRESHOLD_DAYS: ${{ vars.ACTION_THRESHOLD_DAYS || '7' }} |
24 | 28 | steps: |
25 | 29 | - name: Fetch alerts and compute summaries |
26 | 30 | id: alerts |
|
63 | 67 | echo "EOF" |
64 | 68 | } >> "$GITHUB_OUTPUT" |
65 | 69 |
|
66 | | - # Actions: alerts with <7d to TTR (P0=7d, P1=30d, P2=90d, P3=no deadline) |
| 70 | + # Actions: alerts within THRESHOLD_DAYS of their TTR (P0=7d, P1=30d, P2=90d, P3=no deadline) |
67 | 71 | # Grouped by (package, severity); shows earliest deadline per group. |
68 | | - ACTIONS=$(jq -r ' |
| 72 | + ACTIONS=$(jq -r --argjson threshold "$THRESHOLD_DAYS" ' |
69 | 73 | [.[] |
70 | 74 | | (.security_advisory.severity) as $sev |
71 | 75 | | ({"critical":7,"high":30,"medium":90,"low":null}[$sev]) as $ttr |
|
75 | 79 | ] |
76 | 80 | | group_by([.pkg, .sev]) |
77 | 81 | | map({pkg: .[0].pkg, sev: .[0].sev, count: length, min_remaining: ([.[].remaining] | min)}) |
78 | | - | map(select(.min_remaining < 7)) |
| 82 | + | map(select(.min_remaining < $threshold)) |
79 | 83 | | sort_by(.min_remaining) |
80 | 84 | | if length == 0 then "_None_" |
81 | 85 | else (map( |
@@ -184,9 +188,10 @@ jobs: |
184 | 188 | --arg prs_list "$PRS_LIST" \ |
185 | 189 | --arg actions "$ACTIONS" \ |
186 | 190 | --arg stuck "$STUCK" \ |
| 191 | + --arg threshold "$THRESHOLD_DAYS" \ |
187 | 192 | '{ |
188 | 193 | channel: $channel, |
189 | | - text: ":calendar: *Weekly Dependabot summary* - `\($repo)`\n\n*Open alerts (\($total)):*\n\($by_severity)\n\n*Open Dependabot PRs:*\n\($prs_list)\n\n*Actions needed (<7d remaining):*\n\($actions)\($stuck)\n\n<https://github.com/\($repo)/security/dependabot|Dependabot alerts>" |
| 194 | + text: ":calendar: *Weekly Dependabot summary* - `\($repo)`\n\n*Open alerts (\($total)):*\n\($by_severity)\n\n*Open Dependabot PRs:*\n\($prs_list)\n\n*Actions needed (<\($threshold)d remaining):*\n\($actions)\($stuck)\n\n<https://github.com/\($repo)/security/dependabot|Dependabot alerts>" |
190 | 195 | }' > payload.json |
191 | 196 |
|
192 | 197 | - name: Post Slack summary |
|
0 commit comments