This is the workflow for working on GitHub for our Apache Flex Whiteboard repos:

ApacheFlex@GitHub Initial setup:

1. Create an organization account (free for open source) for Apache Flex on www.github.com. The public url will be https://github.com/apacheflex.
2. Share the organization account details with the Flex PMC at private@flex.apache.org
3. Any Apache Flex PMC member should be able to edit and maintain the organization account on github.
4. Alternatively, a PMC member can add their private github account to the organization and get admin access.

Committer Initial setup:

1. An Apache Flex Committer creates a github account (or uses their existing account)
2. The committer posts on dev@flex.apache.org requesting to be added to the github.com/apacheflex organization with the following details:

  1. GitHub id
  2. Default email id used in GitHub
  3. Desired name of new repo (Must be of the format: whiteboard_apacheId_projectname or simply whiteboard_apacheId)
  4. If this new repo needs to be a clone of an existing flex repo, the url of the repo to be cloned (ex. https://github.com/apache/flex-sdk)

3. A PMC member logs into github.com and adds the committer's github account to the github.com/apacheflex organization
4. The committer creates their public whiteboard project at: github.com/apacheflex/whiteboard_<apacheId>
5. If it is a repo cloned from our GitHub mirror, we could allow a repo like: github.com/apacheflex/whiteboard_<apacheId>_flex-sdk (for example)
6. It is recommended, but not necessary that the committer adds their <apacheId>@apache.org email address as their default email in their github account.
7. The list moderator for commits@flex.apache.org will have to add the committer's github default email id to the allowed list.  

Whiteboard repo setup:

1. The whiteboard repo at: github.com/apacheflex/whiteboard_<apacheId> should have the file: CONTRIBUTING.md at the top level of the repo
2. This file is based on template which contains the guidelines about contributing to Apache.
3. The committer is free to chose what goes in this repo. For example, they can be fork from our GitHub mirror at https://github.com/apache/flex-sdk or they could copy paste some sample code into the repo.
4. The whiteboard repo at: github.com/apacheflex/whiteboard_<apacheId> must have a GitHub 'Service Hook' with these parameters:

ServiceHook Name: Email
Address: commits@flex.apache.org
Secret: <Leave blank>
Send from Author: <checked>
Active: <checked>

5. This will ensure that whenever a commit is made, a notification is sent to commits@flex.apache.org just like how Apache's Git servers do.

Committer <-> Contributor workflow:
1. Any public github user can fork an Apache Flex committer's whiteboard from github.com/apacheflex/whiteboard_<apacheId> to github.com/<public_use>/<public_use_repo_name>
2. The contributor can work on their repo and send a pull request back to the committer
3. In the 'Send Pull Request' screen, GitHub automatically shows the link to the 'Contributing guidelines' link to the CONTRIBUTING.md file on the whiteboard repo.
4. The contributor implicitly agrees to Apache's contributing guidelines and sends the pull request
5. Once the committer receives the pull request, he/she is free to accept or reject
6. Once the pull request is merged, a notification is sent to commits@flex.apache.org

  • No labels