)]}'
{
  "commit": "90e5f6f7218e36ae2941cb3a8f415a872bed8c99",
  "tree": "4cd8ea5f9660b51e0999b4b89f94673bfb786de2",
  "parents": [
    "c877a7cc4d7ef7fcaeda097dcbfb79f37b930565"
  ],
  "author": {
    "name": "Han Seoul-Oh",
    "email": "laughinghan@gmail.com",
    "time": "Fri Feb 24 22:37:25 2017 -0800"
  },
  "committer": {
    "name": "Han Seoul-Oh",
    "email": "laughinghan@gmail.com",
    "time": "Fri Feb 24 22:37:25 2017 -0800"
  },
  "message": "CI: Add Many-Worlds build link to Commit Status\n\nSo [Many-Worlds] is this thing I hacked together on Gomix that can fetch,\nbuild, and serve any branch, PR, or commit of MathQuill, on demand. For\nexample, if you go to:\n\n  http://many-worlds.gomix.me/mathquill/mathquill/branch/master/test/unit.html\n\nthen it will fetch the latest `master` branch, run `make test`, then\ndelegate to a static file server to serve `test/unit.html` and\n`build/mathquill.test.js` and all that good stuff.\n\n[Many-Worlds]: https://gomix.com/#!/project/many-worlds\n\nCurrently, though, manually formatting that URL is the only way to use\nit. What would be nice is if an auto-generated URL were generated per\nbranch or PR or commit or something and available on GitHub, so you\ncould just click a link to try out a PR. We could automatically post a\ncomment on new PRs, but that would spam PR authors with notifications.\n\nA better, quieter way is to use the GitHub Commit Status API:\nhttps://developer.github.com/v3/repos/statuses/\n\nThis lets us quietly attach a link to every commit built by CircleCI\nwithout spamming anyone with notifications, and lets you try out\nintermediate commits on a PR; not just the tip, every push.\n\nAuthentication\n--------------\n\nCircleCI doesn\u0027t provide us with the token they use for their status\nupdate, probably for good security reasons, but this is exactly what the\nMathQuillBot GitHub bot user is for.\n\n`$GITHUB_STATUS_API_KEY` is a [personal access token] for MathQuillBot\nlimited to the [`repo:status`] authorization scope (so this token can\u0027t\nbe used to write to anything other than commit statuses) that I\u0027ve added\nto the build environment.\n\n[personal access token]: https://help.github.com/articles/creating-an-access-token-for-command-line-use/\n[`repo:status`]: https://developer.github.com/v3/oauth/#scopes\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "331b639dbb2d4093178a307d835507a8e4ea24eb",
      "old_mode": 33188,
      "old_path": "circle.yml",
      "new_id": "2bc198876b06041bca9185a1189d40aad0100996",
      "new_mode": 33188,
      "new_path": "circle.yml"
    }
  ]
}
