Skip to content

Instructions for Maintainers

gordonwoodhull edited this page Dec 20, 2014 · 31 revisions

Merging Pull Requests

Ensure origin looks like this in .git/config. The key element here is the second fetch statement

[remote "origin"]
  url = [email protected]:dc-js/dc.js.git
  fetch = +refs/heads/*:refs/remotes/origin/*
  fetch = +refs/pull/*/head:refs/remotes/origin/pr/*

Run these commands (or their approximation):

# clean master branch
git stash

# update node modules that may be pulled into `web/`
npm update

# double check your aren't going to blow away local commits
git fetch origin
git checkout master
git diff origin/master

# Merge - substitute the PR number for $PR. Warning this runs git reset --hard, ensure you are ready
grunt merge:$PR

# manually verify the changes and review the demos/examples

# deploy
git push origin master

# review changes before site deployment
git diff origin/gh-pages master:web
grunt web

If needed, the baseline test for the demos can be rebuilt by running grunt update-stock-regression.

Tagging a version

A lot of steps here, easy to miss one and end up with a bad tag, which is permanent.

  1. Change version in package.json
  2. grunt docs
  3. grunt update-stock-example
  4. grunt test && grunt test-browserify
  5. Check in artifacts
  6. git push
  7. Wait for Travis tests to cycle!
  8. git tag ##.##.##
  9. git push --tags
  10. npm publish (cdnjs will pick up automatically)