Open main menu

CDOT Wiki β

DPS909/OSD600 Fall 2018 Lab 2

Revision as of 11:58, 21 September 2018 by Ysim2 (talk | contribs) (Submission)

Start Contributing to an Open Source Project

Due Date

Monday Sept 24th.

Requirements

This lab will help get you started on your 0.1 release. Here is a checklist of what needs to be done (see below for more details):

  • Install and set-up git
  • Create a GitHub Account
  • File an Issue to work on in Filer
  • Create a fix for your Issue, learn how to add, commit, push commits in git
  • Create a Pull Request in Filer's repo on GitHub with your fix
  • Add your Name and URLs to the table at the end of this lab

Setup Git and GitHub

We'll use git and GitHub throughout this course to contribute to open source projects. You'll need to get both properly setup, installed and configured. Follow the instructions from the Week 3 notes to get your name, email, editor, line endings, etc. setup for git, and create an account for yourself on GitHub

File an Issue with Filer

You need to file an Issue in Filer to work on for your release. Using your recent research on Filer's fs module, pick a test you want to write for one of the methods. It is recommended that you add a test for one of the fs.promises methods and code paths, since there are currently none. Make sure it doesn't already exist, and that no other student has filed it already, and file a New Issue:

  • Talk about the method and test you are going to write
  • Keep your test small and focused: only test 1 thing in a test. It's better for us to have lots of small tests rather than a few big ones.
  • Show a short snippet of code to demonstrate the particular behaviour you will be testing.
  • If you are planning to work on this test, indicate so in the issue, (i.e., "I'd like to be assigned this issue so I can work on it.").

Fix your Issue

Once you have an Issue assigned to you, begin working on a fix:

  • Fork and Clone Filer
  • Create and checkout a branch for your work, naming it after your issue. For example, if you are fixing Issue #452, create a branch named "issue-452".
  • Test code for Filer lives in tests/ and tests/spec. You can likely add to a file there. If are unsure, ask in your Issue for advice.
  • Add, commit, and push your branch when you are done, or when you are close to done and want feedback.
  • Create a Pull Request for your fix. Your Pull Request should reference your Issue #, and describe what the change is doing. https://github.com/filerjs/filer/pull/385 is an example.

It is OK to submit a Pull Request that isn't 100% perfect or done yet for this first attempt.

Work in the Open

Everyone will struggle with some aspects of this lab and assignment. It's meant to immerse you in the open source contribution process. Don't be overwhelmed, you aren't alone, and there's nothing wrong with you! I want you to learn to work in community, ask for help, and give help as you are able:

Submission

You will have completed your lab when you have filed an issue, create a pull request, and added the links to the table below:

Name My GitHub (URL) My Filer Bug (URL) My Filer Pull Request (URL)
Stuart Crust https://github.com/0xazure https://github.com/filerjs/filer/issues/384 https://github.com/filerjs/filer/pull/385
Alexander Ponomaroff https://github.com/alexander-ponomaroff https://github.com/filerjs/filer/issues/398 https://github.com/filerjs/filer/pull/402
Ryan Vu (Tien Phat) https://github.com/pynnl https://github.com/filerjs/filer/issues/396 https://github.com/filerjs/filer/pull/406
Allan Zou https://github.com/itchylol742 https://github.com/filerjs/filer/issues/410 https://github.com/filerjs/filer/pull/413
Joshua Mayers https://github.com/JoshuaRM https://github.com/filerjs/filer/issues/399 https://github.com/filerjs/filer/pull/401
Jeffrey Espiritu https://github.com/jespirit https://github.com/filerjs/filer/issues/400 https://github.com/filerjs/filer/pull/409
Volodymyr Klymenko https://github.com/klymenkoo https://github.com/filerjs/filer/issues/407 https://github.com/filerjs/filer/pull/415
Michael Overall https://github.com/Michael-Overall https://github.com/filerjs/filer/issues/392 https://github.com/filerjs/filer/pull/416
Dilan Guneratne https://github.com/dnguneratne https://github.com/filerjs/filer/issues/387 https://github.com/filerjs/filer/pull/412
Yoosuk Sim https://github.com/y2s82 https://github.com/filerjs/filer/issues/424 https://github.com/filerjs/filer/pull/429