Skip to content

feat(meta): require collaborators to be active #7775

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
May 29, 2025
Merged

Conversation

avivkeller
Copy link
Member

@avivkeller avivkeller commented May 23, 2025

Fixes #7767

The wording can be changed as needed.

Copy link

vercel bot commented May 23, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
nodejs-org ✅ Ready (Inspect) Visit Preview May 28, 2025 4:57pm

@codecov-commenter
Copy link

codecov-commenter commented May 23, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 75.36%. Comparing base (39e3ae1) to head (bf73db8).
Report is 8 commits behind head on main.

✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #7775      +/-   ##
==========================================
+ Coverage   75.31%   75.36%   +0.04%     
==========================================
  Files          96       96              
  Lines        7856     7862       +6     
  Branches      192      192              
==========================================
+ Hits         5917     5925       +8     
+ Misses       1938     1936       -2     
  Partials        1        1              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@avivkeller avivkeller changed the title feat(meta): require collaborators to me active feat(meta): require collaborators to be active May 23, 2025
@avivkeller avivkeller marked this pull request as ready for review May 23, 2025 19:37
@Copilot Copilot AI review requested due to automatic review settings May 23, 2025 19:37
@avivkeller avivkeller requested review from a team as code owners May 23, 2025 19:37
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Adds automation to identify and report inactive collaborators, updates documentation to clarify collaborator maintenance, and schedules a periodic workflow.

  • Introduces a script that searches for collaborator activity over a configurable timeframe and files or updates an issue listing inactive members
  • Provides comprehensive tests for all new utilities and workflows
  • Extends CONTRIBUTING.md with a “Maintaining Collaborator Status” section and adds a GitHub Actions workflow to run the script weekly

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
apps/site/scripts/find-inactive-collaborators/index.mjs New script to detect inactive collaborators and create/update an issue
apps/site/scripts/find-inactive-collaborators/tests/index.test.mjs Tests covering date utilities, activity checks, issue creation/update, and full workflow
CONTRIBUTING.md Added “Maintaining Collaborator Status” section and fixed link case
.github/workflows/find-inactive-collaborators.yml Scheduled GitHub Actions workflow to invoke the script weekly
Comments suppressed due to low confidence (1)

CONTRIBUTING.md:6

  • There’s an extra hyphen and inconsistent indentation before the 'Becoming a collaborator' entry, which breaks the list structure; remove the redundant '-' to fix formatting.
-  - [Becoming a collaborator]

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Aviv Keller <me@aviv.sh>
@MattIPv4
Copy link
Member

This feels very odd to put inside the site app when it is an entirely meta thing to the repo/organisation, nothing to do with the production site?

@avivkeller
Copy link
Member Author

I just figured I'd put it in the same directory as lighthouse, but I can move it.

@ovflowd
Copy link
Member

ovflowd commented May 25, 2025

This feels very odd to put inside the site app when it is an entirely meta thing to the repo/organisation, nothing to do with the production site?

I agree. But at the same time, there's no such... hmm.. meta repo for the website team or web-infra team, so no idea where this should live. @bmuenzenmeyer we could create a repo on nodejs/web-team as a meta space for the website and web-infra teams.

@avivkeller
Copy link
Member Author

avivkeller commented May 25, 2025

WDYT about storing a list of the current members in the GOVERNANCE file?

That would eliminate the need to use a custom token, and we could just use the default actions token?

(This is what is done in core)

@MattIPv4
Copy link
Member

Fwiw, I'm fine with this living in .github/scripts -- I think this repo is still canonically the right place, and that directory seems like a logical location to me 👍

@MattIPv4
Copy link
Member

WDYT about storing a list of the current members in the GOVERNANCE file?

This does seem easier than needing a custom token. I do wonder if something should be done more centrally to have all the (public) teams in code somewhere.

@bmuenzenmeyer
Copy link
Collaborator

bmuenzenmeyer commented May 25, 2025

We have a monorepo now. It would be easy to make a module here that only serves as a tooling/scripts location.

Heck, api-docs-tooling could even migrate.
The more we add to the monorepo the more value it (theoretically) provides

@ovflowd
Copy link
Member

ovflowd commented May 25, 2025

We have a monorepo now. It would be easy to make a module here that only serves as a tooling/scripts location.

Heck, api-docs-tooling could even migrate. The more we add to the monorepo the more value it (theoretically) provides

I don't think the website repo should be a "fit everything" in one repository. There should be separation of concerns IMO. And I do prefer having a meta-repo for the administrative side of things of the web teams.

@ovflowd
Copy link
Member

ovflowd commented May 26, 2025

I'd like to formally block this PR (the PR itself is fine) -- I just want to have the @nodejs/nodejs-website and @nodejs/web-infra team to give a 👍 or 👎 if this should live here or within a meta repository.

  • 👍 if you want this script on the WEBSITE repository
  • 👎 if you want this script on a meta management repository for the WEBSITE TEAM

Signed-off-by: Aviv Keller <me@aviv.sh>
@avivkeller
Copy link
Member Author

avivkeller commented May 26, 2025

Also, currently, this only checks commits, since there isn't a decent way to check the timestamp of a PR contribution.

We can check if they've commented on a PR/issue that's been updated in the past twelve months, or we can leave it as it (leaving it as is matches node core).

As is matching: 8 inactive
w/ additional check: 1 inactive

@avivkeller
Copy link
Member Author

avivkeller commented May 27, 2025

@ovflowd Are you satisfied with the outcome of the vote?

Personally, I think we should land this here, setup a common repository to store all of our re-used actions (i.e. dependency-review and scorecard, etc). Once that's all setup, we can migrate this there (although, since it's not really re-used, it might not belong there).

Copy link
Contributor

github-actions bot commented May 27, 2025

Lighthouse Results

URL Performance Accessibility Best Practices SEO Report
/en 🟢 100 🟢 100 🟢 100 🟢 91 🔗
/en/about 🟢 100 🟢 100 🟢 100 🟠 82 🔗
/en/about/previous-releases 🟢 100 🟢 100 🟢 100 🟠 83 🔗
/en/download 🟢 96 🟢 100 🟢 100 🟢 91 🔗
/en/blog 🟢 100 🟢 100 🟢 96 🟢 92 🔗

@ovflowd
Copy link
Member

ovflowd commented May 27, 2025

@ovflowd Are you satisfied with the outcome of the vote?

Personally, I think we should land this here, setup a common repository to store all of our re-used actions (i.e. dependency-review and scorecard, etc). Once that's all setup, we can migrate this there.

There wasn't even enough time yet. Not everyone has voted. Let's wait 48 more hours.

Copy link
Collaborator

@bmuenzenmeyer bmuenzenmeyer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

non blocking comments but perhaps worth adding

@avivkeller avivkeller requested a review from bmuenzenmeyer May 28, 2025 18:56
@ovflowd
Copy link
Member

ovflowd commented May 29, 2025

Alrighty, vote passed. @avivkeller feel free to merge :)

@avivkeller avivkeller added the github_actions:pull-request Trigger Pull Request Checks label May 29, 2025
@avivkeller avivkeller enabled auto-merge May 29, 2025 10:46
@github-actions github-actions bot removed the github_actions:pull-request Trigger Pull Request Checks label May 29, 2025
@avivkeller avivkeller added this pull request to the merge queue May 29, 2025
Merged via the queue into main with commit 1f9c6e4 May 29, 2025
19 checks passed
@avivkeller avivkeller deleted the require-contributions branch May 29, 2025 10:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

@nodejs/nodejs-website contribution requirements
7 participants