Phase 1 - making changes (programmer)
You’ve picked a task, assigned it to yourself and moved it to the “Doing” column in the Kanban · Workboard.
Create a new thread on the Forum. Put a link to the task you’ve started working on. Most discussions and questions regarding the work on this task should happen on this new thread.
Get the code
Clone the repository of the project, if you haven’t already. You can find the link to the repository on the project page on Sealhub or on the thread describing the project on the Forum;
Create a new branch
Make a new branch:
$ git checkout "master"
$ git pull
$ git checkout -b "some_branch"
You can name the branch whatever you want. The branch name will not be part of the review. Remember, that you won’t be pushing the branch to the remote repository.
Make the changes
Start working on the project. Make as many commits as you want along the way.
$ git commit -a -m "checkpoint"
Test your changes
In most of our projects, there are automated tests you can run to test if your changes didn’t break something. Make sure to add new tests that check validity of your implementation of the task.
Run the tests. It usually involves just running
npm run test, but make sure to consult the
README.md file of the project to check for sure.
If the tests fail, make sure to fix the code and commit the changes (don’t push them!)
Check the files
Make sure you’re not including any unwanted files in your diff. Unwanted files include
node_modules, some test file leftovers, compiled code, etc. Use
$ git diff --name-only $(git merge-base HEAD master)
to see the list of files. If you see any files that should not be included in the diff, ignore them using .gitignore and create a new commit.
Create a new diff
$ arc diff origin/master
Arcanist will ask you some information about the diff you’re submitting:
The first line will become the title of the diff.
The “Summary” part is a multiline description of the changes you’ve made. Usually just referencing the task with
Ref T123 is enough.
The “Test plan” line is a description of how the human reviewer is supposed to test your changes.
Reviewers part should be set to
You can leave the
Subscribers part empty.
Save and close the file in the editor, and Arcanist will submit the diff
Check the diff
Arcanist will show you the link to the diff. Open it in your browser and double-check if everything is correct - the title, the referenced task, the code. Make any adjustments if necessary using the “Edit” option on the right.
Share a link to the diff
Post a new message on the forum thread related to this task. Add a link to the diff and let others know it’s ready for review!
And now… I wait?
You don’t have to wait for the review to be finished in order to work on another task - feel free to start work on any other task, even in the same project!