Skip to content
This repository has been archived by the owner on Nov 11, 2024. It is now read-only.

Latest commit

 

History

History
111 lines (88 loc) · 4.69 KB

process.md

File metadata and controls

111 lines (88 loc) · 4.69 KB

How to process requests as the EC

Decision process

  1. Post a message for the decision to the internal EC channel
  2. Decide over the request:
    • React to the message with 👍 👎
    • If the message gets 👍/👎 from more than half the EC, it gets approved/rejected immediately
    • Otherwise, if after 24 hours, there are at least 2 👍1 and no 👎, it gets approved
    • Otherwise, ping the EC members that have not voted
  3. Once decided, react with ✅ to indicate you will process the request

Replying to emails

When replying to emails, make sure it's sent to all of:

  • The original sender
  • If available, the corresponding email in voters.json
  • [email protected]

On receiving disclosure of endorser conflicts of interest

  • Commit the CoI disclosure to the private repo and reply to the email with

    Thank you, we have received your conflicts of interest disclosure.
    
  • For all PRs the endorser was involved with (search for involves:someUser) that have at least 3 endorsements on the PR, initiate the decision process to decide over whether there are enough non-conflicting endorsements. You can also use this script to automate this process more.

  • If approved, add the "enough endorsements" label

  • If approved and the nominee submitted the candidate template form, merge the PR and leave this comment:

    EC: This candidate has met the endorsements requirement and submitted the nomination form, which makes them a valid candidate.
    
  • If approved but the nominee did not submit the candidate template form, leave a comment:

    EC: This nominee has met the endorsements requirement. As soon as we receive their filled-out candidate form, this PR will be merged, making them a valid candidate.
    
    EC: This nominee has met the endorsements requirement. In case they accept the nomination and we receive their filled-out candidate form, this PR will be merged, making them a valid candidate.
    

On receiving nomination forms

  • Commit the nomination form to the private repo and reply to the email with
    Thank you, we have received your nomination form.
    
  • Merge the PR if 3 non conflicting endorsements were made (see above)
    EC: We confirm the candidacy of @<USER>, no more endorsements are necessary.
    

On receiving exception requests

  • Reply to the email with

    Thank you, we have received your exception request and will reach out again when we made the decision.
    
  • Initiate the decision process to decide over whether they meet the bar for eligibility

    You may want to list the users GitHub contributions to help with that.

  • If approved:

    • Add their email (and GitHub user if they provided one) to the voters.json file and commit it
    • Reply with
      We are approving your exception request, you have been added to the voters list.
      
  • If rejected, reply with

    Unfortunately we are not approving your exception request.
    

On other emails

Forwards it as a message to the internal EC channel to decide what to do

On a suspected rule violation

Only if the rule violation is subjective, invoke the decision process to decide whether it was violated and the resulting action to take. For objective rule violations, EC members can act independently.

If the rule violation is objective:

  1. Send an email to the respective user containing:
    • That their comment has been deleted
    • The rule that was violated
    • The contents of their violating issue/comment
    • Suggested alternatives
  2. Close the issue or delete the comment

For subsequent rule violations, access to the repo may be revoked:

  1. Replace the respective users GitHub id in voters.json with

    "<email>": "@<handle>: Revoked repository access due to rule violations"
    

    Make sure to leave the email as is, the user is still allowed to vote.

  2. The above only removes the user from the voters GitHub team. To actually revoke access, they need to be removed from the NixOS GitHub organisation. This should only be done if it doesn't revoke any other privileges, such as write access to repositories or removals from other teams.

On a missed GitHub org invite

  1. Remove their GitHub id from invited.txt.
  2. Go to the voter-team.yml workflow
  3. Click "Run workflow" (and confirm it), this will trigger sending of another invite.

Footnotes

  1. These numbers were decided by the initial EC of size 7, needs to be adjusted for smaller EC sizes