Skip to content

Commit 09abdde

Browse files
authored
Merge pull request #10668 from NuGet/main
[ReleasePrep][2025.12.23]FI of main into dev
2 parents c9a6303 + e21c1fc commit 09abdde

4 files changed

Lines changed: 536 additions & 90 deletions

File tree

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
id:
2+
name: GitOps.PullRequestIssueManagement
3+
description: Issue management and triage
4+
owner:
5+
resource: repository
6+
disabled: false
7+
where:
8+
configuration:
9+
resourceManagementConfiguration:
10+
scheduledSearches:
11+
- description: Warn the authors on issues that are 'Need More Info', and have not received any activity for 1 week
12+
frequencies:
13+
- hourly:
14+
hour: 1
15+
filters:
16+
- isOpen
17+
- noActivitySince:
18+
days: 7
19+
- hasLabel:
20+
label: Need More Info
21+
- isNotLabeledWith:
22+
label: DoNotClose
23+
actions:
24+
- addLabel:
25+
label: Stale
26+
- addReply:
27+
reply: "${issueAuthor}, this issue will be closed soon due to inactivity. Please add more information to help us triage this issue."
28+
- description: Labeling lower priority non-Feature issues that have not received any activity for 18 months as Stale
29+
frequencies:
30+
- hourly:
31+
hour: 1
32+
filters:
33+
- isOpen
34+
- noActivitySince:
35+
days: 548
36+
- isNotLabeledWith:
37+
label: Priority - 1
38+
- isNotLabeledWith:
39+
label: Priority - 2
40+
- isNotLabeledWith:
41+
label: feature-request
42+
- isNotLabeledWith:
43+
label: Feature suggestion
44+
- isNotLabeledWith:
45+
label: Type:Feature
46+
- isNotLabeledWith:
47+
label: DoNotClose
48+
actions:
49+
- addReply:
50+
reply: "${issueAuthor}, this issue has been labeled with Stale due to inactivity for 18 months."
51+
- addLabel:
52+
label: Stale
53+
- description: Close issues marked with OkToClose
54+
frequencies:
55+
- hourly:
56+
hour: 1
57+
filters:
58+
- isOpen
59+
- hasLabel:
60+
label: OkToClose
61+
actions:
62+
- closeIssue
63+
- removeLabel:
64+
label: OkToClose
65+
- removeLabel:
66+
label: Triaged
67+
- addReply:
68+
reply: "${issueAuthor}, This issue was closed after the OkToClose label was applied. If you have additional details or questions, please don't hesitate to reopen it."
69+
onFailure:
70+
onSuccess:
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: Prioritize Issues by Reactions
2+
3+
on:
4+
schedule:
5+
- cron: '0 0 * * *' # Runs once a day at midnight UTC
6+
workflow_dispatch: # Allows manual runs
7+
jobs:
8+
prioritize:
9+
permissions:
10+
issues: write
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout repo
15+
uses: actions/checkout@v3
16+
17+
- name: Install jq
18+
run: sudo apt-get install -y jq
19+
20+
- name: Prioritize issues by reactions
21+
env:
22+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
23+
REPO: NuGet/NuGetGallery
24+
BUG_HIGH: 10
25+
BUG_MEDIUM: 5
26+
FEATURE_MEDIUM: 25
27+
run: |
28+
issue_numbers=$(gh issue list -R "$REPO" --state open --limit 1000 --json number -q '.[].number')
29+
30+
for ISSUE in $issue_numbers; do
31+
echo "🔍 Checking Issue #$ISSUE"
32+
33+
# Get issue labels
34+
labels=$(gh issue view $ISSUE -R $REPO --json labels -q '.labels[].name' | tr '\n' ' ')
35+
echo " Labels: $labels"
36+
37+
reactions=$(curl -s \
38+
-H "Accept: application/vnd.github.squirrel-girl-preview+json" \
39+
-H "Authorization: token $GH_TOKEN" \
40+
https://api.github.com/repos/$REPO/issues/$ISSUE/reactions)
41+
42+
total=$(echo "$reactions" | jq 'length')
43+
44+
# Determine priority based on issue type
45+
if echo "$labels" | grep -q "Type:Bug"; then
46+
echo " 🐛 Bug issue detected"
47+
if [ "$total" -ge "$BUG_HIGH" ]; then
48+
priority="Priority - 1"
49+
elif [ "$total" -ge "$BUG_MEDIUM" ]; then
50+
priority="Priority - 2"
51+
else
52+
priority="Priority - 3"
53+
fi
54+
echo "👉 Issue #$ISSUE has $total reactions — Assigning label: $priority"
55+
elif echo "$labels" | grep -q "Type:Feature" || echo "$labels" | grep -q "feature-request"; then
56+
echo " ✨ Feature request detected"
57+
if [ "$total" -ge "$FEATURE_MEDIUM" ]; then
58+
priority="Priority - 1"
59+
echo "👉 Issue #$ISSUE has $total reactions — Assigning label: $priority"
60+
else
61+
priority="Priority - 2"
62+
echo "👉 Issue #$ISSUE has $total reactions — Assigning label: $priority"
63+
fi
64+
else
65+
echo "👉 Issue #$ISSUE has no Type:Bug, Type:Feature, feature-request label — Skipping prioritization"
66+
continue
67+
fi
68+
69+
# Get current Priority:* label (if any)
70+
current_priority=$(gh issue view $ISSUE -R $REPO --json labels -q '.labels[].name' | grep '^Priority - ' || echo "")
71+
72+
if [[ "$current_priority" != "$priority" ]]; then
73+
# Check if current priority label was added by github-actions
74+
if [[ -n "$current_priority" ]]; then
75+
# Get the timeline events to see who added the current priority label
76+
label_added_by=$(gh api repos/$REPO/issues/$ISSUE/timeline --paginate | jq -r --arg label "$current_priority" '.[] | select(.event == "labeled" and .label.name == $label) | .actor.login' | tail -1)
77+
78+
if [[ "$label_added_by" != "github-actions[bot]" ]]; then
79+
echo " 🚫 Priority label '$current_priority' was set by '$label_added_by' (not github-actions), skipping update"
80+
continue
81+
fi
82+
83+
echo " ⏹️ Removing old label: $current_priority (was set by github-actions)"
84+
gh issue edit $ISSUE -R $REPO --remove-label "$current_priority"
85+
fi
86+
87+
echo " ➕ Adding new label: $priority"
88+
gh issue edit $ISSUE -R $REPO --add-label "$priority"
89+
else
90+
echo " ✅ Priority label already correct: $priority"
91+
fi
92+
echo ""
93+
done

RemovedPackages.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,12 @@ Scanning is not perfect. Community partnership is a very valuable part of the ov
8888
| Netherеum.All | 10/20/2025 | Potentially Malicious |
8989
| toolsay | 10/20/2025 | Untrustworthy |
9090
| MiniMutex version 1.2.4 | 12/04/2025 | Potentially Malicious |
91+
| Tracer.Fody.NLog | 12/17/2025 | Malware |
92+
| Gp4Framework 0.0.9 | 12/17/2025 | Potentially Malicious |
93+
| Gp4Framework 0.1.0 | 12/17/2025 | Potentially Malicious |
94+
| SystemDiagnosticsv324824726 1.0.0 | 01/09/2026 | Malware |
95+
| SystemDiagnosticsv324824726 1.2.0 | 01/09/2026 | Malware |
96+
| SystemDiagnosticsV2.5467 1.0.0 | 01/09/2026 | Malware |
9197

9298

9399

0 commit comments

Comments
 (0)