{"push_id":880579962,"size":20,"distinct_size":0,"ref":"refs/heads/stage","head":"dae93954689ba9672cfeab2c6666ff49ac526bce","before":"651c5d90d0fed062e357ffb1ba6391f820c5268c","commits":[{"sha":"0a72e45a5b9cc694d511ea09b6ee32fbe91d0d84","author":{"email":"3545c9e690e6f1fe34bf04279c8aa1ba0bf6192d@mozilla.com","name":"Ed Morley"},"message":"Bug 1227682 - Enable the ESLint no-extra-semi rule & fix infringements\n\nDisallows unnecessary semicolons\nhttp://eslint.org/docs/rules/no-extra-semi","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/0a72e45a5b9cc694d511ea09b6ee32fbe91d0d84"},{"sha":"ba22abc4e01c6c37c1763d9ae92dba73a29b2e40","author":{"email":"3545c9e690e6f1fe34bf04279c8aa1ba0bf6192d@mozilla.com","name":"Ed Morley"},"message":"Bug 1227352 - Add the b2g-ota repository","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/ba22abc4e01c6c37c1763d9ae92dba73a29b2e40"},{"sha":"6df3aa4ac3dfee1da6121fc3c747e0ab4313dee8","author":{"email":"3545c9e690e6f1fe34bf04279c8aa1ba0bf6192d@mozilla.com","name":"Ed Morley"},"message":"Bug 1225597 - Docs: Make local hawk credentials section easier to find\n\nAlso remove the duplication between the two pages, by having the\nsubmitting data section not mention requesting credentials at all, and\nleave that to the common tasks page instead.","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/6df3aa4ac3dfee1da6121fc3c747e0ab4313dee8"},{"sha":"5f9a57ef21a214ca8db432535325482c77f5ca12","author":{"email":"3545c9e690e6f1fe34bf04279c8aa1ba0bf6192d@mozilla.com","name":"Ed Morley"},"message":"Bug 1225597 - Docs: Use anonymous links to avoid build warnings\n\nFixes:\ncommon_tasks.rst:2: WARNING: Duplicate explicit target name: \"stage\".\ncommon_tasks.rst:2: WARNING: Duplicate explicit target name: \"production\".\n\nhttp://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#anonymous-hyperlinks","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/5f9a57ef21a214ca8db432535325482c77f5ca12"},{"sha":"63309178d96349e4c40bd66e69be01a890620d57","author":{"email":"3545c9e690e6f1fe34bf04279c8aa1ba0bf6192d@mozilla.com","name":"Ed Morley"},"message":"Bug 1227733 - Update Django from v1.8.5 to v1.8.7\n\nhttps://docs.djangoproject.com/en/1.8/releases/1.8.6/\nhttps://docs.djangoproject.com/en/1.8/releases/1.8.7/\nhttps://github.com/django/django/compare/1.8.5...1.8.7","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/63309178d96349e4c40bd66e69be01a890620d57"},{"sha":"998f4d374d7be843bf25ec449cc4d19752601836","author":{"email":"3545c9e690e6f1fe34bf04279c8aa1ba0bf6192d@mozilla.com","name":"Ed Morley"},"message":"Bug 1226651 - Add missing unique_together model constraints\n\nThese were present in the raw SQL used prior to bug 1193836, so should\nalready exist on stage/prod/heroku. As such, I've added these to the\ninitial migration to avoid errors during migrate/having to use `--fake`.","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/998f4d374d7be843bf25ec449cc4d19752601836"},{"sha":"014bcd7c5a08234d4ffc09cbb15412cfaf47ae51","author":{"email":"3545c9e690e6f1fe34bf04279c8aa1ba0bf6192d@mozilla.com","name":"Ed Morley"},"message":"Bug 1227653 - Remove the custom wrapper around Django's MemcachedCache\n\nIt purports to add two features:\n(a) the ability to set a \"never expire\"\n(b) the ability to check the result of a set()\n\nHowever (a) isn't needed any more, since Django supports this natively\n(albeit \"never expire\" is set with a `TIMEOUT` of `None` rather than 0),\nand (b) isn't used, since Treeherder never checks the return value from\ncache.set():\nhttps://github.com/mozilla/treeherder/search?q=%22cache.set%22\n\nThe custom wrapper is also the cause of deprecation warnings, eg:\nRemovedInDjango19Warning: `MemcachedCache._get_memcache_timeout` method\nshould be renamed `get_backend_timeout`.\n\nIt was copied from Datazilla:\nhttps://github.com/mozilla/datazilla/pull/37\n\n...which at the time was using Django 1.3.1, which didn't support never\nexpiring:\nhttps://github.com/django/django/blob/1.3.1/django/core/cache/backends/memcached.py#L41\n\nWhereas 1.7+ does:\nhttps://github.com/django/django/blob/1.8.5/django/core/cache/backends/memcached.py#L56\nhttps://docs.djangoproject.com/en/1.8/ref/settings/#std:setting-CACHES-TIMEOUT","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/014bcd7c5a08234d4ffc09cbb15412cfaf47ae51"},{"sha":"86628a335012888b1ea046f38e828f5e02b7db39","author":{"email":"0a3b0239f2dec45450cc41b11d45c989caa229a0@mozilla.com","name":"William Lachance"},"message":"Bug 1227740 - Use fixtures for performance alert unit test","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/86628a335012888b1ea046f38e828f5e02b7db39"},{"sha":"1821c545b747a247e954818f4ac02502b9626bea","author":{"email":"0a3b0239f2dec45450cc41b11d45c989caa229a0@mozilla.com","name":"William Lachance"},"message":"Bug 1227740 - Modify performance alerts code to be simpler + more robust\n\n* Make sorting more deterministic in cases where we have multiple\n  entries with the same push timestamp\n* Internal PerfDatum clas renamed to just Datum\n* Remove buildid parameter from Datum (not used for anything)\n* Remove testrun_timestamp paramater from Datum (it's not really useful,\n  better to use push_timestamp\n* Consolidate debug printing into one function that shows\n  everything","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/1821c545b747a247e954818f4ac02502b9626bea"},{"sha":"2497d6f7025b16413017b8f55aa2f8eafe674853","author":{"email":"0a3b0239f2dec45450cc41b11d45c989caa229a0@mozilla.com","name":"William Lachance"},"message":"Bug 1227740 - Detect and handle case where we alert inside a retrigger\n\nPreviously we would make the previous result set id the same as the current\none, which meant we couldn't resolve the treeherder changeset.","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/2497d6f7025b16413017b8f55aa2f8eafe674853"},{"sha":"9ddb21d521bcbe3fd51e8d97e53b5bc1cb2f588e","author":{"email":"0a3b0239f2dec45450cc41b11d45c989caa229a0@mozilla.com","name":"William Lachance"},"message":"Bug 1201154 - Fix getting more alert summaries","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/9ddb21d521bcbe3fd51e8d97e53b5bc1cb2f588e"},{"sha":"3daa4adfa59e0ae0e177f910a2dbce3548b86dfb","author":{"email":"0a3b0239f2dec45450cc41b11d45c989caa229a0@mozilla.com","name":"William Lachance"},"message":"Bug 1227301 - Make perfherder navbar use treeherder's style","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/3daa4adfa59e0ae0e177f910a2dbce3548b86dfb"},{"sha":"3286af09eb12d111dd65e688ac10e3454a23be82","author":{"email":"0a3b0239f2dec45450cc41b11d45c989caa229a0@mozilla.com","name":"William Lachance"},"message":"Bug 1227301 - Add ability to log into treeherder from perfherder","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/3286af09eb12d111dd65e688ac10e3454a23be82"},{"sha":"e8444645d997cafc58a57d48f1b4db8f84282979","author":{"email":"3545c9e690e6f1fe34bf04279c8aa1ba0bf6192d@mozilla.com","name":"Ed Morley"},"message":"Bug 1160561 - Use django-environ rather than os.environ.get\n\nSince it's cleaner & simplifies casting of non-string values. For usage\nguide, see:\nhttps://github.com/joke2k/django-environ/blob/develop/README.rst","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/e8444645d997cafc58a57d48f1b4db8f84282979"},{"sha":"5fc4a1a8b9eaa72335ef97240aced1dd5e4b5fbd","author":{"email":"3545c9e690e6f1fe34bf04279c8aa1ba0bf6192d@mozilla.com","name":"Ed Morley"},"message":"Bug 1160561 - Remove unnecessary DEBUG define in local settings file\n\nNow that we're using django-environ's env.bool() in settings.py, the\nvalue of TREEHERDER_DEBUG set in the Vagrant environment is correctly\npicked up, so the local settings file DEBUG define is unnecessary.","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/5fc4a1a8b9eaa72335ef97240aced1dd5e4b5fbd"},{"sha":"04dbd2b98b0e4a6308c20f3057c163168ef347e9","author":{"email":"3545c9e690e6f1fe34bf04279c8aa1ba0bf6192d@mozilla.com","name":"Ed Morley"},"message":"Bug 1160561 - Handle the Django DB password being missing or None\n\nWhilst Django itself handles the password property being set to `None`,\nwe use the Django DB configs in several places outside of Django (either\ndirectly with MySQLdb, or via datasource which uses MySQLdb too).\n\nMySQLdb will handle the password being the empty string, but raises\nif `None` is passed, which can occur if using django-environ, due to:\nhttps://github.com/joke2k/django-environ/issues/56\n\nThis change both works around that issue, and is also likely the right\nthing to do regardless, since we shouldn't assume that the password is\neven set in settings.py at all. (Django defaults the password to the\nempty string, so it's perfectly acceptable to omit the password\nproperty in the DATABASES dict entirely.)","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/04dbd2b98b0e4a6308c20f3057c163168ef347e9"},{"sha":"d1b1cb534c896e53763f3da65da55c084bc11b01","author":{"email":"3545c9e690e6f1fe34bf04279c8aa1ba0bf6192d@mozilla.com","name":"Ed Morley"},"message":"Bug 1160561 - Replace dj-database-url with django-environ\n\nWe're already using django-environ for standard environment variables,\nhowever it also supports DB URL parsing too, so we might as well use\nit for everything, rather than using two packages.\n\nIn addition, django-environ already supports DB URI options (eg for\nspecifying the SSL cert), whereas the dj-database-url PR for that\nfeature has sat unmerged since May.\n\nCompare:\nhttps://github.com/kennethreitz/dj-database-url/blob/v0.3.0/dj_database_url.py\n...with:\nhttps://github.com/joke2k/django-environ/blob/v0.4/environ/environ.py#L323-L392","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/d1b1cb534c896e53763f3da65da55c084bc11b01"},{"sha":"cd353f5e3c2d70b2dca46c22db430382f39171c1","author":{"email":"3545c9e690e6f1fe34bf04279c8aa1ba0bf6192d@mozilla.com","name":"Ed Morley"},"message":"Bug 1160561 - Add support for setting BROKER_URL via the environment\n\nThe individual RABBITMQ_* variables are never used on their own, so it\nmakes more sense to switch to a URL variable that combines all of them.\n\nTravis/Vagrant have also had BROKER URL explicitly set, since we're\ngenerally moving away from having testing defaults set in settings.py.\n\nOnce stage/prod have BROKER_URL set, we can remove the fallback to the\nold variable names, and also remove defaults entirely, making missing\nsettings fail fast.","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/cd353f5e3c2d70b2dca46c22db430382f39171c1"},{"sha":"dd539147716125bb4d2798cdaf613e294c363fb2","author":{"email":"3545c9e690e6f1fe34bf04279c8aa1ba0bf6192d@mozilla.com","name":"Ed Morley"},"message":"Bug 1228013 - Add a test for missing Django migrations\n\nThis test checks that `./manage.py makemigrations` was run, and the\nresultant migrations file committed to the repo, since the last time the\nDjango models were updated.\n\nDjango 1.8 only supports an `exit_code` option, which unhelpfully makes\nthe command `sys.exit(1)` if there are *no* missing migrations, when\nwe're more interested in the opposite. As such, we have to confirm that\nit does exit 1 (which causes a `SystemExit` exception).\n\nOn Django master they've replaced `exit_code` with `check_changes` that\ninverts the check, which we should switch to once we're using a version\nof Django that includes that fix.","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/dd539147716125bb4d2798cdaf613e294c363fb2"},{"sha":"dae93954689ba9672cfeab2c6666ff49ac526bce","author":{"email":"1871c3a5e824bf188ba52c8c145d7233a12b1ea4@gmail.com","name":"Tiramisu 1993"},"message":"Bug 1193419 - No longer expire resultset and revision","distinct":false,"url":"https://api.github.com/repos/mozilla/treeherder/commits/dae93954689ba9672cfeab2c6666ff49ac526bce"}]}