Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

These are playbooks for on-call tasks. Feel free to add more!

...

  1. Set the Account Name to the relevant Institution(2U/edx, OpenCraft, etc.)

  2. The contributor's first and last name

  3. The contributor's GitHub username (case sensitive - it should match what you see on their profile at https://github.com/<username>)

  4. Ideally, their email address

  5. Locate the field Contributor Covered Under Entity and select it

  6. Locate the Role field and add the Entity Contributor role to the user.

...

🧑‍🤝‍🧑 Managing teams and access

Anyone is allowed to join the openedx-triage group if they ask. This group gives access

...

See to clone the repo and manage issues and pull requests.

For other requests, follow rules in GitHub Access & Team StructureGrant and grant requests that follow those rules and seem reasonable.

👩‍🔧 FC Contractor teams and access

...

  1. First, determine whether the repository should be moved.

    • See our interim guidance on which repositories belong in the openedx GitHub organization. Feel free to bring the question to the team if you’re not sure.

  2. If you believe the repository should move, ensure that we legally can move the code.

  3. Choose a method: Transfer or Fork. We default to Transfer.

    1. Transfer. “Transfer” is a feature that GitHub provides. Its main benefit is that links to the repository’s original location will indefinitely forward to the new location, unless the repo is forked back into the original org. Furthermore, transferring the repository implies that Axim is receiving the entire repository as a code contribution under the contributor’s existing CLA, which has legal ramifications. To execute the transfer, follow these steps:

      1. Ask the requester to confirm the transfer using the wording in /wiki/spaces/NPGA/pages/3544940606 . Note the requester must be a principal (or higher) engineer or a manager, or have one of those people comment their approval on the request.

      2. Ask the requester to add you to the repository with admin permissions. If you are not in the source organization (you’re probably not), they can still add you to the repository an outside collaborator. They should not need to grant you any permissions in the source organization as a whole. One you’re granted repository admin permissions, go to the repository’s Settings page, scroll all the way down to the Danger Zone, hit “Transfer”, and follow the prompts.

      3. If the requester wasn’t comfortable granting you admin rights to the repo for some reason, then we can do it the hard way:

        1. Get on a screenshare with the requester (they must have admin rights on the repo being transferred). Particularly, they must share their screen looking at the GitHub page of the repo.

        2. Grant them Owner rights (from https://github.com/orgs/openedx/people , find their username. Click, then use the dropdown on the right sidebar to switch from Member to Owner)

        3. Observe them press the transfer button

        4. Determine which teams need access to the repo and add those teams in the next screen

        5. Press Transfer. After a minute or two, verify that the transfer is complete

        6. Demote them to Member (from https://github.com/orgs/openedx/people , find their username. Click, then use the dropdown on the right sidebar to switch from Owner to Member)

    2. Fork. The benefit here is that it can be done without the involvement of anyone in the source organization. Legally, we claim fewer rights using this method; as such, we are able to use it in situations where transferring wouldn’t be appropriate. Steps:

      1. First, check with the team and/or legal. We don’t use this method much, so if you’re doing it, you should probably check that these steps are still valid.

      2. Fork the repository into the openedx organization.

      3. Update any links in the repository to point to the new openedx location.

      4. If it’s not there already, add a Apache 2 or AGPLv3 license file to the repo.

      5. Add a note to the README stating that any contributions up to <version> are licensed by <original owner> under <original license>, and that any after <version> are licensed by Axim under <AGPL or Apache>. Example: https://github.com/openedx/django-require/#license

  4. Tag the latest commit.

    1. Before new changes are merged to the repo, tag the commit that was the last commit in the old org. The tag should follow a naming convention like this:

      1. Code Block
        last-commit-in-<orgname>-org
        # Some examples would be
        last-commit-in-edx-org
        last-commit-in-opencraft-org

  5. Ensure that the newly transferred/forked repo has a catalog-info.yaml file an a clearly named owner.

  6. Run the repo_checks on the newly transferred repo(s)

Methods of transferring

  • Transfer. Based on https://docs.github.com/en/repositories/creating-and-managing-repositories/transferring-a-repository#transferring-a-repository-owned-by-your-organization

    1. Ask the requester to confirm the transfer using the wording in /wiki/spaces/NPGA/pages/3544940606 . Note the requester must be a principal eng or a manager, or have one of those people comment their approval on the request.

    2. Someone must have Owner rights to both the source org (or simply the source repo) and the dest org in order to do the transfer. In order to do this transfer, follow the following steps to grant the requester (or someone with admin rights to the repo) temporary Owner rights on the openedx GitHub organization:

    3. The main benefit here is that links to the repository’s original location will indefinitely forward to the new location, unless the repo is forked back into the original org.

  • Fork. You only need write access to the destination organization in order to do this.

...