-
Notifications
You must be signed in to change notification settings - Fork 306
Working On Intern
These are some basic guidelines for contributing to Intern. Welcome!
git clone [email protected]:theintern/intern.gitcd internnpm installcd node_modules/internnpm install dojo chaicd ../..
Because these two versions of Intern have slightly different dependencies, the easiest way to switch between the two is as follows:
The first time you switch to geezer:
git checkout geezermv node_modules/dojo node_modules/dojo-2npm installcd node_modules/intern-geezernpm install dojocd ../..
Subsequent switch geezer → master:
git checkout mastermv node_modules/dojo node_modules/dojo-1mv node_modules/dojo-2 node_modules/dojo
Subsequent switch master → geezer:
git checkout geezermv node_modules/dojo node_modules/dojo-2mv node_modules/dojo-1 node_modules/dojo
etc.
(Hey, maybe you can write a script to automate this!)
You can run Intern’s self-test suite using the tests/selftest.sh script. This script uses the production version of Intern installed in node_modules to run the self-test suite using both the Node.js client and WebDriver runner. WebDriver tests are run on Sauce Labs, so you’ll need to provide your Sauce username and access key as environment variables:
SAUCE_USERNAME=… SAUCE_ACCESS_KEY=… ./tests/selftest.shAlways run the self tests before issuing a pull requests. Travis-CI will warn you later if you’ve done something dumb, but do you really want to broadcast that to the world?!!
Whenever landing a PR, always use git pull https://github.com/cool-person/intern.git branch-name --squash --author="Original Author <[email protected]>" instead of allowing a merge or fast-forward. NEVER allow a merge commit to be introduced to the master branch. ALWAYS make sure discrete features are committed in a single commit. Or else.
Whenever merging a PR against the master branch, make sure you also commit it to the geezer branch, for as long as that thing exists.
git commitgit checkout geezergit merge master --no-commit- Fix conflicts, if any
- Fix any getter/setters that need to be changed to use
get/setmethods git commit