Граф коммитов

5293 Коммитов

Автор SHA1 Сообщение Дата
William Lachance ef2545dfff Bug 1261176 - Add and use a general function for getting performance data
This is better than the adhoc approach we have been using up to now.
2016-03-31 17:47:08 -04:00
William Lachance db513a216c Bug 1261176 - More cleanup of the client-side PhSeries API
Remove some pointless abstractions, consolidate code, etc.
2016-03-31 17:47:08 -04:00
William Lachance c27a21eb46 Bug 1261176 - Simplify client-side getSeriesList API
Let's have it get the option collection map, if necessary, instead of
forcing the consumer to grab it every time.
2016-03-31 17:47:08 -04:00
William Lachance af2c8635f8 Bug 1261176 - Use getSeriesList for getting series in graphs view 2016-03-31 17:47:08 -04:00
Ed Morley 0443801acd Bug 1260608 - Update links on the Infra menu 2016-03-31 11:22:48 +02:00
William Lachance 41da109403 Bug 1260110 - Re-work the signature fetching API to be faster
* Remove subtest_signatures property (super slow)
* Add a parent_signature property to signatures with a parent signature
* Add option to only fetch signatures without a parental signature
* Update clients to use the new API, for increased speed/awesomeness
2016-03-30 16:21:57 -04:00
William Lachance 70e00bc6da Bug 1260110 - Add a "has subtests" property to performance series
This will be useful for some views where we don't know off the bat
whether a signature has subtests or not (e.g. the e10s dashboard,
the graphs view) and thus whether to show a "show subtests button"
2016-03-30 16:21:57 -04:00
camd e8fe392477 Merge pull request #1370 from martiansideofthemoon/tyranitar
Bug 1245760 - Display the failed buildbot step in the log summary pan…
2016-03-30 12:19:39 -07:00
KALPESH KRISHNA 71f7872614 Bug 1245760 - Display the failed buildbot step in the log summary pane if nothing else. 2016-03-30 19:42:14 +05:30
Ed Morley 8a0c1ced76 Bug 1258700 - Make SECURE_HSTS_SECONDS an int not a timedelta
Since otherwise it results in a header of form:
`strict-transport-security: max-age=365 days, 0:00:00`
...rather than:
`strict-transport-security: max-age=31536000`
2016-03-30 14:52:31 +02:00
Ed Morley 3d4b43bcaa Bug 1258700 - Enable Django HTTPS redirection/HSTS on stage/prod too
Previously HTTPS redirection was only enabled on Heroku, since
stage/prod handled it on the load balancer. However, the load balancer
isn't setting the HSTS header, and deployment-specific environment
variables (such as `IS_HEROKU`) should really be avoided.

As such, the conditional instead now checks whether `SITE_URL` begins
with `https://`. This has the effect of enabling these Django security
features on stage/prod, but keeping them disabled locally/on Travis,
where the site isn't accessible over HTTPS.
2016-03-30 13:00:23 +02:00
Ed Morley 05763288fb Bug 1258700 - Replace wsgi-sslify with Django's security middleware
Now that we're using WhiteNoise as middleware, Django's security
middleware can be placed in front of it, making the standalone WSGI app
wsgi-sslify redundant, by using `SECURE_SSL_REDIRECT` and
`SECURE_HSTS_SECONDS`:
https://docs.djangoproject.com/en/1.8/ref/middleware/#django.middleware.security.SecurityMiddleware
https://docs.djangoproject.com/en/1.8/ref/settings/#secure-ssl-redirect
https://docs.djangoproject.com/en/1.8/ref/settings/#secure-hsts-seconds

We will also now be able to enable other Django security middleware
features in the future, that were not present in wsgi-sslify (such as
setting the `X-Content-Type-Options` and `X-XSS-Protection` headers).

Werkzerg has been moved to `requirements/dev.txt` since it's now only
needed in development, by django-extension's `runserver_plus` command.
2016-03-30 13:00:23 +02:00
Ed Morley 44b536205b Bug 1258700 - Add docstrings to CustomWhiteNoise 2016-03-30 13:00:23 +02:00
Ed Morley b6ed225ca4 Bug 1258700 - Disable Django's inbuilt static file handling
Since otherwise WhiteNoise will only serve files when using gunicorn
and not when using `./manage.py runserver`, creating inconsistencies
between production and development environments:
http://whitenoise.evans.io/en/latest/changelog.html#use-whitenoise-in-development-with-django
http://whitenoise.evans.io/en/latest/django.html#using-whitenoise-in-development
2016-03-30 13:00:23 +02:00
Ed Morley 23c4a5ea14 Bug 1258700 - Generate Brotli-compressed versions of static files
WhiteNoise 3.0 now supports serving Brotli-compressed files to browsers
whose `Accept-Encoding` includes `br`. Note: Both Firefox and Chrome
only support Brotli over HTTPS.

To take advantage of this, the Brotli package just needs to be available
when the compression tool (`python -m whitenoise.compress`) is run. See:
http://whitenoise.evans.io/en/latest/changelog.html#brotli-compression-support
http://whitenoise.evans.io/en/latest/django.html#brotli-compression

The WhiteNoise docs say to use an unofficial PyPI package (brotlipy),
however this has a dependency on libffi (via cffi) and the official repo
now has it's own Python wrapper that does not. As such, this commit
instead uses the official Brotli package from GitHub, whilst we wait for
the official PyPI release (https://github.com/google/brotli/issues/72).

The Brotli install works fine on stage/prod/Heroku/Travis. The Vagrant
environment was missing g++, which is now installed during provision.
2016-03-30 13:00:23 +02:00
Ed Morley 25a00716af Bug 1258700 - Use WhiteNoise as middleware rather than as a WSGI app
WhiteNoise now supports being used as Django middleware, rather than
having to wrap the Django app with the standalone WSGI WhiteNoise app:
http://whitenoise.evans.io/en/latest/changelog.html#simpler-cleaner-django-middleware-integration
http://whitenoise.evans.io/en/latest/django.html#enable-whitenoise

In addition to reducing the complexity of the WGSI configuration, it
means that Django's security middleware can soon be used to perform
HTTPS redirection (and more), rather than having to rely on yet another
(and less featureful) standalone WSGI app: wsgi-sslify.
2016-03-30 13:00:23 +02:00
Ed Morley 5b48f4b49b Bug 1258700 - Update to WhiteNoise 3.0
There are some backwards incompatible changes:
http://whitenoise.evans.io/en/latest/changelog.html
https://github.com/evansd/whitenoise/compare/v2.0.6...v3.0

Specifically:
* The CLI compression utility must now be called via
`python -m whitenoise.compress` rather than `python -m whitenoise.gzip`.
* The `whitenoise.django.GzipManifestStaticFilesStorage` storage backend
has moved to `whitenoise.storage.CompressedManifestStaticFilesStorage`.
* The internal `add_files()` method has been split into two and the part
which we need to subclass is now named `update_files_dictionary()`. See:
07f9c0bece
2016-03-30 13:00:23 +02:00
camd 566c0318ad Merge pull request #1376 from wlach/1198978-followup
Bug 1198978 - Fix keyboard input after job classification
2016-03-29 16:25:19 -07:00
William Lachance e04077e64f Bug 1198978 - Fix keyboard input after job classification
For some reason changing the span to a button broke keyboard input
after job classification on Firefox on Linux/Windows (not Mac,
any flavor of Chrome also works fine). Blurring the input element
seems to fix this.
2016-03-29 16:01:17 -04:00
autolander a86d241370 Merge pull request #1373 from mozilla/bug1255406
Bug 1255406 - "Retrigger all" on a >10 pinned jobs only retriggers 10
2016-03-29 10:19:55 -07:00
autolander 645886634f Merge pull request #1369 from tojon/tier-navbar-title
Bug 1259567 - Add a title and UI improvements for the Tier menu
2016-03-28 21:34:40 -07:00
Cameron Dawson 606864b790 Bug 1255406 - "Retrigger all" on a >10 pinned jobs only retriggers 10
The /artifacts endpoint defaults to only returning the first 10 items
unless a count is passed in.  We weren’t passing in that param, so we’d
only get back the first 10 (we need them for the buildbot request_ids).

This fixes it by passing in a “count” param equal to the number of jobs
we want to retrigger.
2016-03-28 17:21:43 -07:00
autolander 45376b5d24 Merge pull request #1366 from crosscent/disable-comment-saving
Bug 1198978 - Pressing "Save" when no jobs are selected on the pinboard…
2016-03-28 05:51:52 -07:00
Roy 590d688ead Bug 1198978 - Disable save button if no job
* Changed span to button
* added tooltip for disabled button
2016-03-25 19:54:00 -07:00
Jonathan French 140222cca9 Bug 1259567 - Add a title and UI improvements for the Tier menu 2016-03-24 16:17:08 -04:00
William Lachance 6c70883cb4 Bug 1199364 - Limit displayed revision length in perf controllers 2016-03-24 15:16:30 -04:00
William Lachance bed6910e2f Bug 1257509 - Add options to select branch, sampling interval for e10s comparisons 2016-03-24 13:44:29 -04:00
William Lachance 8b8cc4b301 Bug 1257509 - Add a "last 2 days" time interval 2016-03-23 20:07:59 -04:00
Cameron Dawson 41522044fd Bug 1199291 - Create result set on the fly for jobs ingested where the RS does not exist yet 2016-03-23 16:56:52 -07:00
autolander 656438f1af Merge pull request #1364 from martiansideofthemoon/arcanine
Bug 1243155 - Removing undefined letters from commit author's initials.
2016-03-23 14:04:08 -07:00
KALPESH KRISHNA 196b90059a Bug 1243155 - Removing undefined letters from commit author's initials. 2016-03-24 02:15:43 +05:30
William Lachance 1b6ca587f1 Merge pull request #1365 from martiansideofthemoon/ditto
Bug 1251988 - Update name of <a> element for wptview
2016-03-23 16:22:36 -04:00
KALPESH KRISHNA df69f97eeb Bug 1251988 - Update name of <a> element for wptview 2016-03-24 01:46:24 +05:30
jgraham d3af720a61 Merge pull request #1363 from mozilla/jgraham/register_typo
Fix a typo in the matcher registration
2016-03-23 11:05:54 +00:00
James Graham 60a5bff119 Fix a typo in the matcher registration 2016-03-23 10:48:39 +00:00
James Graham 99bd93c4f6 Don't run pylint in the migrations directory 2016-03-22 17:04:33 +00:00
Ed Morley 513fc6a7a7 Bug 1258676 - Update to virtualenv 15.0.1
Since virtualenv 15.0.1 includes pip 8.1.1:
https://virtualenv.pypa.io/en/latest/changes.html
https://github.com/pypa/virtualenv/compare/15.0.0...15.0.1
2016-03-22 12:40:45 +00:00
Ed Morley a1fb2a52e8 Bug 1258676 - Update to pip 8.1.1
https://pip.pypa.io/en/stable/news/
https://github.com/pypa/pip/compare/8.1.0...8.1.1
2016-03-22 12:39:52 +00:00
William Lachance 8b6bae1467 Merge pull request #1358 from jmaher/talos
Bug 1253341 - Run duplicate Talos jobs in AWS for Linux. r=wlach
2016-03-18 16:28:18 -04:00
Joel Maher a90b7605df Bug 1253341 - Run duplicate Talos jobs in AWS for Linux; add performance framework id to perfherder 2016-03-18 13:14:44 -07:00
autolander 39d51cad8f Merge pull request #1353 from vakila/perf-data-bulk
Bug 1217520 - Import perf data using bulk_create if possible
2016-03-18 12:11:06 -07:00
Anjana 5fd55233d3 Bug 1217520 - Remove check for null signature.last_updated 2016-03-18 19:47:27 +01:00
Anjana 5d4b27a18c Bug 1217520 - Import perf data using bulk_create if possible 2016-03-18 19:43:41 +01:00
Cameron Dawson 2a9dbefa49 Bug 1199364 - Use revsion instead of revision_hash for resultsets
New resultsets will still store a value in their ``revision_hash`` field, but it will
just be the same value as their ``long_revision`` field.

This will log an exception in New Relic when a new resultset or job is posted
to the API with only a ``revision_hash``and not a ``revision`` value.

This also switches to using the longer 40 char revisions along side the
12 char revisions.  But we leverage the longer ones for most actions.  The
short revisions are stored and used so that people and the UI can support
locating a resultset (or setting ranges) with short revisions.
2016-03-17 15:48:49 -07:00
Cameron Dawson c2d1100bd5 Bug 1124278 - Include hawk user id in hawk calls
This will add that value to any exceptions that are caused during calls by a hawk
user.  This will, in turn, help us work with that user to resolve the issue.
2016-03-17 12:44:49 -07:00
William Lachance fcafbd415c Bug 1257640 - Order performance alerts in each summary by title 2016-03-17 15:38:05 -04:00
William Lachance 00ccb7eeda Bug 1257625 - Be more selective about alerts we use to create summary titles
* We should not incorporate downstream alert information into the title
* If there are any regressions that belong to the summary, only incorporate
  the regression information into the title
2016-03-17 15:28:43 -04:00
Ed Morley 4b48c50615 Bug 1165229 - Heroku: Add option to make pre-deploy errors non-fatal
When first setting up a new app on Heroku, things like reporting the
deploy to New Relic will fail, since it requires that the app exist on
New Relic. However the app will only be created there once the Python
agent first reports app metadata, which won't happen until after the
deploy (there is no way to create the app via the web interface).

In addition, there may be cases in the future when stage/prod is broken,
and the pre-deploy tasks therefore fail, however we still want the
deploy to proceed.

To avoid needing to constantly edit this file, the environment variable
`IGNORE_PREDEPLOY_ERRORS` can now be set, in cases where the deploy
should continue even if there were errors. (Note this uses the bash 4.2+
`-v` option, see http://stackoverflow.com/a/18448624).
2016-03-17 13:12:43 +00:00
Ed Morley 9f4f439146 Bug 1165229 - Heroku: Report deployments to New Relic
Requires that `NEW_RELIC_APP_NAME` and `NEW_RELIC_API_KEY` be set in the
environment. NB: `NEW_RELIC_API_KEY` is different from the existing
`NEW_RELIC_LICENSE_KEY`.

We're also making use of the runtime-dyno-metadata labs feature, which
sets the slug/release related environment variables used in this PR:
https://devcenter.heroku.com/articles/dyno-metadata
2016-03-17 13:12:40 +00:00
Ed Morley 859230c9bf Bug 1165229 - Heroku: Move the deploy tasks to their own script
Since we'll soon be adding reporting deploys to New Relic, which will be
too verbose to include in the Procfile. Also adds additional log output
(which follows the buildpack compile log formatting convention) to make
it easier to find & follow the release tasks on Papertrail.

Uses the `set -euo pipefail` recommendation from:
http://redsymbol.net/articles/unofficial-bash-strict-mode/
2016-03-17 11:50:21 +00:00