[PR #5147] [MERGED] Add GitHub workflow and script for counting monthly contributor points #31707

Closed
opened 2026-04-18 07:54:15 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/5147
Author: @MatissJanis
Created: 6/12/2025
Status: Merged
Merged: 6/14/2025
Merged by: @MatissJanis

Base: masterHead: matiss/points


📝 Commits (10+)

  • ddd873f Add GitHub workflow and script for counting monthly contributor points
  • a63c042 Fix prettier violations in ".github" folder
  • c0193f1 Enhance contributor points calculation by ensuring unique reviewers are counted for approved reviews.
  • 3b2daa9 Feedback: run on "docs" repo too
  • 9451e27 Feedback: extract point values to constant vars
  • 2e8e1c3 Feedback: exclude some files from LOC calc
  • 826049c Enhance contributor points calculation by adding an end date for filtering PRs and events, ensuring accurate monthly contributions are counted.
  • 181c380 Refactor issue retrieval in contributor points calculation to use pagination, improving performance and ensuring all relevant issues are considered within the specified date range.
  • a51ca78 Update sorting method in contributor points calculation to use 'updated' instead of 'merged' for improved accuracy in PR retrieval.
  • c2207a8 Fix label comparison in contributor points calculation to ensure case-insensitive matching for 'needs triage'.

📊 Changes

11 files changed (+591 additions, -24 deletions)

View changed files

📝 .github/actions/get-next-package-version.js (+21 -7)
.github/scripts/count-points.mjs (+350 -0)
.github/workflows/count-points.yml (+26 -0)
📝 .github/workflows/docker-edge.yml (+0 -2)
📝 .github/workflows/i18n-string-extract-master.yml (+3 -3)
📝 .github/workflows/netlify-release.yml (+5 -5)
📝 .github/workflows/stale.yml (+5 -5)
📝 .prettierignore (+0 -1)
📝 package.json (+3 -1)
upcoming-release-notes/5147.md (+6 -0)
📝 yarn.lock (+172 -0)

📄 Description

Running locally:

GITHUB_TOKEN=xxxxxxxx node ./.github/scripts/count-points.mjs

Sample output (for current month):

PR Review Statistics (docs):
============================
youngcw: 5 (PRs: #709 (2pts), #719 (2pts), #721 (2pts), #717 (2pts), #716 (2pts))
matt-fidd: 4 (PRs: #709 (2pts), #709 (2pts), #720 (2pts), #713 (2pts))
MikesGlitch: 3 (PRs: #709 (2pts), #721 (2pts), #715 (4pts))
RubenOlsen: 3 (PRs: #709 (2pts), #712 (2pts), #710 (2pts))
jfdoming: 2 (PRs: #717 (2pts), #716 (2pts))
MatissJanis: 2 (PRs: #722 (2pts), #715 (4pts))

"Needs Triage" Label Removal Statistics (docs):
===============================================
No "needs triage" label removal statistics (docs) found in the last month.

Issue Closing Statistics (docs):
================================
youngcw: 3 (Issues: 719, 719, 712)
jfdoming: 2 (Issues: 716, 715)
MatissJanis: 2 (Issues: 721, 720)
RubenOlsen: 2 (Issues: 713, 710)
matt-fidd: 1 (Issues: 717)
MikesGlitch: 1 (Issues: 722)

Points Summary (docs):
======================
youngcw: 13
matt-fidd: 9
MikesGlitch: 9
MatissJanis: 8
RubenOlsen: 8
jfdoming: 6

Total points earned for docs: 53

PR Review Statistics (actual):
==============================
matt-fidd: 24 (PRs: #5144 (2pts), #5047 (4pts), #5127 (2pts), #5087 (2pts), #5087 (2pts), #5134 (2pts), #5124 (2pts), #5129 (2pts), #5112 (2pts), #5093 (2pts), #5093 (2pts), #5075 (2pts), #5073 (2pts), #5111 (2pts), #5107 (2pts), #5110 (2pts), #5109 (2pts), #5081 (4pts), #5084 (2pts), #5086 (2pts), #5101 (2pts), #4778 (4pts), #5080 (2pts), #5052 (2pts))
MikesGlitch: 8 (PRs: #5076 (4pts), #5142 (2pts), #5133 (2pts), #5120 (2pts), #5091 (2pts), #4952 (2pts), #5099 (2pts), #5083 (4pts))
youngcw: 6 (PRs: #5135 (2pts), #5095 (2pts), #5123 (2pts), #5099 (2pts), #5083 (4pts), #5080 (2pts))
MatissJanis: 4 (PRs: #5121 (2pts), #5048 (2pts), #4720 (4pts), #5083 (4pts))
jfdoming: 1 (PRs: #5121 (2pts))

"Needs Triage" Label Removal Statistics (actual):
=================================================
youngcw: 51 (Issues: 5149, 4896, 4979, 3701, 5145, 4488, 4282, 5141, 5140, 5114, 5130, 5125, 5131, 5128, 5103, 5079, 4425, 4285, 4210, 3759, 3387, 4441, 4381, 4451, 4781, 4899, 4977, 5122, 4892, 4779, 3218, 5082, 3516, 4118, 4736, 4607, 5100, 5094, 4286, 4985, 3421, 3567, 3191, 2737, 3175, 2919, 2355, 2985, 1815, 1040, 5078)
matt-fidd: 39 (Issues: 4967, 4934, 4962, 4209, 4991, 4254, 5063, 4451, 3294, 3814, 3910, 3422, 3204, 3569, 3263, 3041, 3536, 3921, 4003, 4229, 4036, 4094, 3826, 5098, 5097, 4981, 4431, 4788, 4772, 5088, 5090, 4298, 4326, 4813, 4501, 4936, 5012, 5000, 5020)
MatissJanis: 7 (Issues: 3194, 3384, 3449, 5010, 5021, 5003, 5053)

Issue Closing Statistics (actual):
==================================
matt-fidd: 37 (Issues: 5135, 5114, 5127, 5087, 5134, 4991, 5129, 3965, 3965, 5026, 5095, 5091, 5075, 5073, 4451, 5048, 5084, 5074, 5086, 5101, 4301, 3263, 2884, 2152, 3921, 4094, 3826, 4788, 4772, 5099, 5088, 5094, 5092, 4298, 4813, 4936, 5052)
youngcw: 24 (Issues: 5145, 5142, 3706, 5141, 5140, 5130, 5131, 5120, 5112, 5103, 4210, 4441, 4899, 4977, 5122, 5098, 5097, 4431, 4892, 4118, 4286, 2737, 2355, 1815)
MatissJanis: 12 (Issues: 4967, 5124, 4209, 5119, 5116, 5111, 5044, 5110, 5109, 5081, 5005, 5080)
MikesGlitch: 5 (Issues: 5144, 5133, 5079, 5123, 5107)
jfdoming: 1 (Issues: 5083)

Points Summary (actual):
========================
matt-fidd: 130
youngcw: 89
MatissJanis: 31
MikesGlitch: 25
jfdoming: 3

Total points earned for actual: 278


CUMULATIVE STATISTICS ACROSS ALL REPOSITORIES
==================================================

Cumulative Points Summary:
==========================
matt-fidd: 139
youngcw: 102
MatissJanis: 39
MikesGlitch: 34
jfdoming: 9
RubenOlsen: 8

Total cumulative points earned: 331

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/5147 **Author:** [@MatissJanis](https://github.com/MatissJanis) **Created:** 6/12/2025 **Status:** ✅ Merged **Merged:** 6/14/2025 **Merged by:** [@MatissJanis](https://github.com/MatissJanis) **Base:** `master` ← **Head:** `matiss/points` --- ### 📝 Commits (10+) - [`ddd873f`](https://github.com/actualbudget/actual/commit/ddd873fd6775d238f9b7f1e8e5b9412371c0ea31) Add GitHub workflow and script for counting monthly contributor points - [`a63c042`](https://github.com/actualbudget/actual/commit/a63c042d181c91a15909cd760a8b89de13e6c1b2) Fix prettier violations in ".github" folder - [`c0193f1`](https://github.com/actualbudget/actual/commit/c0193f16bfdf316d0bb314e7c0b678a0fb39a977) Enhance contributor points calculation by ensuring unique reviewers are counted for approved reviews. - [`3b2daa9`](https://github.com/actualbudget/actual/commit/3b2daa99efc6269eedbfb275a11fb8def8c5067a) Feedback: run on "docs" repo too - [`9451e27`](https://github.com/actualbudget/actual/commit/9451e2779556e6c45ca7f265409a210815216382) Feedback: extract point values to constant vars - [`2e8e1c3`](https://github.com/actualbudget/actual/commit/2e8e1c316300d68d03618a8394b1e79f0b810dbe) Feedback: exclude some files from LOC calc - [`826049c`](https://github.com/actualbudget/actual/commit/826049cd844d5b3c93c212210c0bfb945cdc9df0) Enhance contributor points calculation by adding an end date for filtering PRs and events, ensuring accurate monthly contributions are counted. - [`181c380`](https://github.com/actualbudget/actual/commit/181c38006371e27f58fb24ad015f2460eb11f436) Refactor issue retrieval in contributor points calculation to use pagination, improving performance and ensuring all relevant issues are considered within the specified date range. - [`a51ca78`](https://github.com/actualbudget/actual/commit/a51ca783bea2109856f01b77e002c908b0a15ccb) Update sorting method in contributor points calculation to use 'updated' instead of 'merged' for improved accuracy in PR retrieval. - [`c2207a8`](https://github.com/actualbudget/actual/commit/c2207a8e7a101eadb392fcf9be9a271707281f6f) Fix label comparison in contributor points calculation to ensure case-insensitive matching for 'needs triage'. ### 📊 Changes **11 files changed** (+591 additions, -24 deletions) <details> <summary>View changed files</summary> 📝 `.github/actions/get-next-package-version.js` (+21 -7) ➕ `.github/scripts/count-points.mjs` (+350 -0) ➕ `.github/workflows/count-points.yml` (+26 -0) 📝 `.github/workflows/docker-edge.yml` (+0 -2) 📝 `.github/workflows/i18n-string-extract-master.yml` (+3 -3) 📝 `.github/workflows/netlify-release.yml` (+5 -5) 📝 `.github/workflows/stale.yml` (+5 -5) 📝 `.prettierignore` (+0 -1) 📝 `package.json` (+3 -1) ➕ `upcoming-release-notes/5147.md` (+6 -0) 📝 `yarn.lock` (+172 -0) </details> ### 📄 Description Running locally: ``` GITHUB_TOKEN=xxxxxxxx node ./.github/scripts/count-points.mjs ``` Sample output (for current month): ``` PR Review Statistics (docs): ============================ youngcw: 5 (PRs: #709 (2pts), #719 (2pts), #721 (2pts), #717 (2pts), #716 (2pts)) matt-fidd: 4 (PRs: #709 (2pts), #709 (2pts), #720 (2pts), #713 (2pts)) MikesGlitch: 3 (PRs: #709 (2pts), #721 (2pts), #715 (4pts)) RubenOlsen: 3 (PRs: #709 (2pts), #712 (2pts), #710 (2pts)) jfdoming: 2 (PRs: #717 (2pts), #716 (2pts)) MatissJanis: 2 (PRs: #722 (2pts), #715 (4pts)) "Needs Triage" Label Removal Statistics (docs): =============================================== No "needs triage" label removal statistics (docs) found in the last month. Issue Closing Statistics (docs): ================================ youngcw: 3 (Issues: 719, 719, 712) jfdoming: 2 (Issues: 716, 715) MatissJanis: 2 (Issues: 721, 720) RubenOlsen: 2 (Issues: 713, 710) matt-fidd: 1 (Issues: 717) MikesGlitch: 1 (Issues: 722) Points Summary (docs): ====================== youngcw: 13 matt-fidd: 9 MikesGlitch: 9 MatissJanis: 8 RubenOlsen: 8 jfdoming: 6 Total points earned for docs: 53 PR Review Statistics (actual): ============================== matt-fidd: 24 (PRs: #5144 (2pts), #5047 (4pts), #5127 (2pts), #5087 (2pts), #5087 (2pts), #5134 (2pts), #5124 (2pts), #5129 (2pts), #5112 (2pts), #5093 (2pts), #5093 (2pts), #5075 (2pts), #5073 (2pts), #5111 (2pts), #5107 (2pts), #5110 (2pts), #5109 (2pts), #5081 (4pts), #5084 (2pts), #5086 (2pts), #5101 (2pts), #4778 (4pts), #5080 (2pts), #5052 (2pts)) MikesGlitch: 8 (PRs: #5076 (4pts), #5142 (2pts), #5133 (2pts), #5120 (2pts), #5091 (2pts), #4952 (2pts), #5099 (2pts), #5083 (4pts)) youngcw: 6 (PRs: #5135 (2pts), #5095 (2pts), #5123 (2pts), #5099 (2pts), #5083 (4pts), #5080 (2pts)) MatissJanis: 4 (PRs: #5121 (2pts), #5048 (2pts), #4720 (4pts), #5083 (4pts)) jfdoming: 1 (PRs: #5121 (2pts)) "Needs Triage" Label Removal Statistics (actual): ================================================= youngcw: 51 (Issues: 5149, 4896, 4979, 3701, 5145, 4488, 4282, 5141, 5140, 5114, 5130, 5125, 5131, 5128, 5103, 5079, 4425, 4285, 4210, 3759, 3387, 4441, 4381, 4451, 4781, 4899, 4977, 5122, 4892, 4779, 3218, 5082, 3516, 4118, 4736, 4607, 5100, 5094, 4286, 4985, 3421, 3567, 3191, 2737, 3175, 2919, 2355, 2985, 1815, 1040, 5078) matt-fidd: 39 (Issues: 4967, 4934, 4962, 4209, 4991, 4254, 5063, 4451, 3294, 3814, 3910, 3422, 3204, 3569, 3263, 3041, 3536, 3921, 4003, 4229, 4036, 4094, 3826, 5098, 5097, 4981, 4431, 4788, 4772, 5088, 5090, 4298, 4326, 4813, 4501, 4936, 5012, 5000, 5020) MatissJanis: 7 (Issues: 3194, 3384, 3449, 5010, 5021, 5003, 5053) Issue Closing Statistics (actual): ================================== matt-fidd: 37 (Issues: 5135, 5114, 5127, 5087, 5134, 4991, 5129, 3965, 3965, 5026, 5095, 5091, 5075, 5073, 4451, 5048, 5084, 5074, 5086, 5101, 4301, 3263, 2884, 2152, 3921, 4094, 3826, 4788, 4772, 5099, 5088, 5094, 5092, 4298, 4813, 4936, 5052) youngcw: 24 (Issues: 5145, 5142, 3706, 5141, 5140, 5130, 5131, 5120, 5112, 5103, 4210, 4441, 4899, 4977, 5122, 5098, 5097, 4431, 4892, 4118, 4286, 2737, 2355, 1815) MatissJanis: 12 (Issues: 4967, 5124, 4209, 5119, 5116, 5111, 5044, 5110, 5109, 5081, 5005, 5080) MikesGlitch: 5 (Issues: 5144, 5133, 5079, 5123, 5107) jfdoming: 1 (Issues: 5083) Points Summary (actual): ======================== matt-fidd: 130 youngcw: 89 MatissJanis: 31 MikesGlitch: 25 jfdoming: 3 Total points earned for actual: 278 CUMULATIVE STATISTICS ACROSS ALL REPOSITORIES ================================================== Cumulative Points Summary: ========================== matt-fidd: 139 youngcw: 102 MatissJanis: 39 MikesGlitch: 34 jfdoming: 9 RubenOlsen: 8 Total cumulative points earned: 331 ``` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-18 07:54:15 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#31707