- This document covers a tool that was created to support contributions made to a group, under the
- form of pull requests, in order to assess whether they are IPR-OK or not.
-
-
- A number of operations in the tool require logging in through GitHub as the related actions you can undertake through the tool (or that the tool can
- undertake on your behalf when reacting to a GitHub event) require authorized access to GitHub.
-
-
- How Pull Requests Get Handled
-
- Whenever a pull request is made against a repo that is under the tool's management,the tool gets
- notified. It uses this information to assess if the PR is acceptable (i.e. all its
- contributors have made the relevant IPR commitment).
-
-
- Count as contributors not just the person making the pull request, but also anyone added
- either in the PR description or in any subsequent comment using "+@username" on a line on its
- own. If a contributor was added by mistake, she can be removed wit "-@username" on a line on
- its own.
-
-
- Every time a PR is created or has a comment with a username change, the status of the PR is
- changed. If it's okay it'll get changed to green with a note indicating that it's fine; if not
- it gets changed to some ugly brown with a red cross (and a link that people can use to check
- the issue in more detail).
-
- On the page that explains the IPR failure, one can mark a given Pull Request as non-substantive: this will post a comment on the pull request under the name of the user, and will clear the flag for the said pull request.
-
- When a pull request gets flagged as not OK by the tool, it will attempt to notify the github users listed in the contacts
property of the w3c.json
file in the repo.
-
- When it gets flagged as not OK because the contributor could not be automatically associated with a W3C profile, the contributor will also be notified to ask them to connect their W3C & GitHub accounts.
-
-
-
- Currently Open Pull Requests
-
- This list all PRs that are now open, even old ones. It lists useful details such as which
- users are being problematic either because they are unknown (not in the system at all) or
- outside (known to the system but not in one of the right groups for that repo).
-
-
- You can go to PR details by clicking "Details".
-
-
-
- PR Details
-
- If the PR is not in an acceptable state, this will list problematic users with possible options to fix
- each of them, and a button to "Mark the PR as non-substantive".
-
- The vast majority of non-acceptable PRs for a newly added repo will come from people whose W3C profile is not known (and thus neither are their affiliation and associated IPR commitments).
-
-
- When all problematic users have had their W3C profile associated, return to the PR details page and hit
- "Revalidate". We hope in the future to revalidate every time a user is added or edited. Revalidation will of course update both the local
- state and the PR's mergability indicator on GitHub.
-
-
-
- Active Last Week PRs
-
- This is a list of pull requests, in any state, that saw activity last week. They can be
- filtered according to the affiliation of the companies that made the contributions. This is
- essentially so that AC reps who have people in CGs who are only supposed to contribute to some
- specific work but not all of it can monitor what's been going on and avail themselves of their
- 45 days retraction window. Similar affordances are available as for the list of open PRs.
-
-
-
- Edit User login required
- In most cases, this interface will not be needed - it is only useful for cases where it is not possible or practical for a GitHub user to associate their GitHub account with their W3C account.
-
-
- The interface to edit users is where the W3C data model and the GitHub data model get to meet.
- This alone is scary; I've tried to make it less scary.
-
-
- A list of the groups known to the system is show, the user can be added and removed from them
- there. If the user's affiliation is unset, once some groups have been added you can click
- "Set". This will load up a list that is the *intersection* of membership in the selected
- groups. The UI will also try to select the user with the name matching their GitHub profile
- (which may not always work, but often does). Hitting "OK" will associate the GH user with the
- W3C user, making it possible for us to use affiliation information. Don't forget to hit
- "Save".
-
-
-
- Admin > Users admin required
-
- This is a list of users. Things you can do there include making them admins and giving them
- blanket contribution rights. USE EITHER WITH CARE.
-
-
- Admins should normally not be able to break the system, but they can enter all sorts of bogus
- information that would be really annoying. Only grant admin when you're sure; it's probably
- better to ask others first.
-
-
- Blanket is a different type of superpower: users with blanket access are considered acceptable
- contributors to ALL repos, irrespective of their group memberships. This should normally be
- restricted to W3C team people.
-
-
-
- Admin > Groups admin required
-
- This is a list of all W3C groups. You will note that most have an "Add" button next to them:
- those are the ones that are in W3C but not in this system. Please do *not* start adding groups
- unless they explicitly want to be managed under this system. We only want people to
- create/import repos for groups that are actually using this system. Clicking "Add" makes that
- group one of those available for repos and users to belong to.
-
-
- The source is at https://github.com/w3c/ash-nazg.
-
-
-