wiki:Event/2014/GCI

Version 31 (modified by Pat Tressel, 7 years ago) ( diff )

--

Google Code In 2014 - 2015

Information for GCI Participants

Instructions and Guidelines

  • Please sign our Contributor License Agreement before claiming or completing any tasks (even non-coding tasks).
  • Please set your expectations from our mentors:
    • We may take up to 24 hours to respond to task claim requests.
    • We may take up to 36 hours to review submitted completed tasks.
  • Please use our public mailing list (http://groups.google.com/group/sahana-eden) or IRC channel (#sahana-eden on irc.freenode.net or http://webchat.freenode.net/?channels=sahana-eden&uio=d4) for all communications - no private messaging please - our mentors wil redirect you back to our public channels. This also lets you introduce yourself to the community. And if you post questions to the mailing list for the project you're working on, then many people will be available to answer, not just your mentor.
  • Speaking of the mailing list...please do join the mailing list, as we will use it to post useful information. Look for [GCI] in the subject line, for messages about GCI. When you post, please use [GCI] in the subject as well, so that folks who are not participating know which to read.
  • Note that Melange does notify mentors assigned to a task by e-mail whenever there is a status change or a comment made on a task. So you do not need to send an email to our lists when you claim or complete a task.
  • Please be patient....
    • The mentor for your project may be in a different timezone. They may be asleep, having dinner...
    • Our mentors have lives, spouses, children, jobs, hobbies, exams...
    • See the times above -- that gives the maximum response time, and a response might take that long.

Thanks!

How to do well in GCI

  • Focus on adding value & helping rather than just completing tasks.
  • If the mentors give you feedback (which we should be!) be sure that you action it!
  • Students who make the extra effort, e.g. improve the wiki, help other students, will be more highly regarded than students who just complete tasks.
  • GCI is for you to learn, and get a start in working on open source projects. It's a safe space for trying out things you don't yet know how to do.
  • Get enough sleep! Don't neglect your schoolwork! Have fun!

Tasks

Committing Code

Please read this, about how to use git and GitHub. http://eden.sahanafoundation.org/wiki/DeveloperGuidelines/Git

We have some differences for GCI, which are summarized below.

Note we are revising the procedure a bit, so there will be changes gradually appearing here.

We will be using a GitHub repository just for GCI, rather than submitting code directly to the main repository. This will help us conserve the time of the (very busy) folks who have to approve submissions to the main repository.

You'll use the GCI repository to use for pull requests.
https://github.com/edengci/eden

But you should still fork the main repository to create your own repository, and then clone your own repository.
https://github.com/flavour/eden

On your local (cloned) repository, set up a "remote" that points to the GCI repository. Open the repository page:
https://github.com/edengci/eden
On the right, there will be a box that says "SSH clone URL" or "HTTPS clone URL" -- that will be the URL to use for your new remote. If you are using git from the command line, cd to your local eden repository, and do this if you are using a password to connect to GitHub (this is the "HTTPS clone URL"):

git remote add edengci https://github.com/edengci/eden.git

Or do this if you are using SSH keys to connect to GitHub (this is the "SSH clone URL"):

git remote add edengci git@github.com:edengci/eden.git

We will give each student their own branch in that GCI repository to receive their pull requests, to make it simpler and faster to get them merged, as we can review and merge work from students in parallel.

So, there will be some changes to the procedure for submitting code.

Instead of updating your branch from the main repository, there will be a branch in the GCI repository that we will keep stable for several days, that students can pull from to set up their own branches for GCI work. This will fix the problem students saw with getting extra commits out of the main repository that were not in the GCI repository. (This is part of the new procedures we're just designing, so there will be more info about this soon. For now, if you're just setting up your branch for GCI work, ask the mentors which branch to pull from.)

Every few days, we will collect up students' work, and submit a combined PR to the main repository. At this point, we'll update the branch to pull from, and students can pull a fresh copy of that branch for any new work. Work already in progress can continue on the old branch, and we'll wait for that to include in the PR to the main repository.

Even with this extra step, your commits will have your name on them, and will show up in the main repository.

The steps to submit your work are similar to those in the git wiki page linked above -- differences are noted here.

  • "Squash" your commits into one.
  • This is different: Don't rebase from the main repository -- you started with the right revision from the GCI branch, so don't need to update. (The mentors will rebase from the main repository while they are getting ready to send the combined PR.)
  • Push your commit to your Eden repository on GitHub.
  • Open the GitHub page for your Eden repository.
  • Click the "Compare and Create Pull Request" button shown on that commit.
  • This is different: The pull request page has a line that shows which repository and branch you are sending the pull request too. You will need to change both, to the GCI repository and your branch name in the GCI repository.
    • There will be a down-arrow next to the repository -- that will give you a list of repositories. Select the GCI repository.
    • Then use the down-arrow on the branch -- select your branch.
  • Create the pull request.
  • Continue with the code review as usual.

Admins and Mentors

Here is a list of admins and mentors with their IRC nicknames and timezones:

Admin IRC nickname Timezone
Ramindu Deshapriya ramindu UTC+0530
Arnav Kumar Agrawal knowing42 UTC+0530


Mentor IRC nickname Timezone
Somay Jain Somay UTC+0530
Hardik Juneja hardikj UTC +0530
Pat Tressel ptressel UTC -0800
Hitesh Sharma hitesh96db UTC +0530
Vishrut Mehta vishrut009 UTC +0530
Robby O'Connor robbyoconnor UTC-0500
Daniel Klischies Nostraa UTC+0100
Anirudh Tewari anirudh UTC +0530
Arnav Sharma iamas UTC +0530
Lolitha Ratnayake Lolitha UTC +0530

Information for Mentors

Mentor Sign Up & Roster

Mentors: Adding New GCI Tasks

A Google Code-In task should be a small unit of work in one of the categories listed below. They should be clearly and well documented so that they are easy for students to complete (and should link to all the information which the student should need to complete the task) and give a full criteria for completion so it is easy for mentors to evaluation.

Tasks must be added to Sunflower under the following projects:

When adding tasks, ensure that you have used the 'New' and 'GCI Task' tags upon creation.

Note: See TracWiki for help on using the wiki.