Chrome Status Dashboard
Перейти к файлу
Jason Robbins e19649bad7
Upgrade django again and lodash.template to resolve security warnings (#759)
* Update django to resolve security warning on github.

* Update lodash.template to resolve security warning on github.
2020-02-18 14:29:31 -08:00
cloudstorage Fixes #219 2015-07-10 10:01:36 -07:00
customtags Sync some changes from master to dev (#717) 2020-01-10 17:22:45 -08:00
data Update devrel_team.yaml 2018-08-01 12:29:31 -07:00
http2push@7b63c8d258 Add experimental features to shipping samples 2016-04-08 15:19:12 +05:30
scripts Fixes #517. Moves to gcloud 2017-10-17 09:57:53 -07:00
static Add debounce to search input field. (#735) 2020-01-30 11:50:44 -08:00
templates Refactor current email notification code to use django template and add tests (#758) 2020-02-14 16:16:01 -08:00
tests Refactor current email notification code to use django template and add tests (#758) 2020-02-14 16:16:01 -08:00
travis Set up unit tests locally and in travis. (#734) 2020-01-30 10:57:22 -08:00
.babelrc Using rollup for components (#679) 2019-11-11 14:32:32 -08:00
.editorconfig Adds eslint. Fixes #350 (#351) 2016-07-19 15:19:06 -07:00
.eslintignore WIP 2019-05-22 11:13:09 -07:00
.eslintrc Using rollup for components (#679) 2019-11-11 14:32:32 -08:00
.gitignore Use lit-virtualizer with UI state in the items rather than mutating. (#722) 2020-01-16 12:20:57 -08:00
.gitmodules Add http2push-gae 2015-10-13 15:13:53 -07:00
.travis.yml Set up unit tests locally and in travis. (#734) 2020-01-30 10:57:22 -08:00
LICENSE Apache2 license 2016-07-08 13:09:02 -07:00
README.md Set up unit tests locally and in travis. (#734) 2020-01-30 10:57:22 -08:00
admin.py Fix experiment goals field (#747) 2020-02-12 09:28:09 -08:00
app.yaml Implement starred feature models and JSON API handler. (#738) 2020-02-06 15:50:36 -08:00
appengine_config.py Feature owners: db notifications and task queue. 2017-07-02 21:25:30 -07:00
blink_handler.py List of features for each blink component owner (#504) 2017-09-11 17:57:54 -07:00
bulkloader.yaml Some changes to the saved bulkdata to better match what's in production now. 2014-08-01 12:51:28 -04:00
bulkloader_helpers.py bulk loader scripts 2013-07-21 16:50:20 -05:00
common.py Sync some changes from master to dev (#717) 2020-01-10 17:22:45 -08:00
config.rb Init commit of chromium feature dashboard 2013-03-07 10:29:38 -08:00
cron.yaml Work around GAE deadline for feature popularity 2019-10-28 13:09:38 -07:00
developer-documentation.md Rename _base.html 2019-06-28 10:28:01 -07:00
gcloud-client-secret.json.enc Travis Lighthouse setup 2017-03-31 19:45:04 -07:00
gulpfile.babel.js Using rollup for components (#679) 2019-11-11 14:32:32 -08:00
hack_components.py Work-around failures when retrieving blink component list (#713) 2020-01-08 10:11:52 -08:00
hack_wf_components.py Work-around failures when retrieving blink component list (#713) 2020-01-08 10:11:52 -08:00
import.csv Some changes to the saved bulkdata to better match what's in production now. 2014-08-01 12:51:28 -04:00
index.yaml lit-element code review 2019-08-15 10:39:30 +08:00
metrics.py Fix #556 2018-06-04 11:41:41 -07:00
models.py Implement starred feature models and JSON API handler. (#738) 2020-02-06 15:50:36 -08:00
notifier.py Refactor current email notification code to use django template and add tests (#758) 2020-02-14 16:16:01 -08:00
notifier.yaml Fixes #517. Moves to gcloud 2017-10-17 09:57:53 -07:00
package-lock.json Upgrade django again and lodash.template to resolve security warnings (#759) 2020-02-18 14:29:31 -08:00
package.json Upgrade django again and lodash.template to resolve security warnings (#759) 2020-02-18 14:29:31 -08:00
push_manifest_features.json Reduce h2 push'd resources. Preload instead. Fixes #345 (#346) 2016-07-19 21:12:32 -07:00
push_manifest_metrics.json Reduce h2 push'd resources. Preload instead. Fixes #345 (#346) 2016-07-19 21:12:32 -07:00
queue.yaml HTML emails to feature owners 2017-08-06 19:24:18 -07:00
requirements.txt Upgrade django again and lodash.template to resolve security warnings (#759) 2020-02-18 14:29:31 -08:00
schedule.py Fix stable/beta adjustment on schedule 2017-09-14 10:00:52 -07:00
server.py Fix broken /samples.json handler after refactor 2017-08-15 10:01:27 -07:00
settings.py Sync some changes from master to dev (#717) 2020-01-10 17:22:45 -08:00
skip_files.yaml Cleanup new deploy, shared skip_files, fixes for prod 2017-07-02 22:14:35 -07:00
users.py Blink component ownners /admin/blink endpoint 2017-06-30 16:03:49 -07:00
util.py Break up features into multiple memcache keys 2017-06-05 22:03:17 -07:00

README.md

Chrome Platform Status

Lighthouse score: 100/100

chromestatus.com

Get the code

git clone --recursive https://github.com/GoogleChrome/chromium-dashboard

Installation

  1. Install global CLIs
    1. Google App Engine SDK for Python.
    2. pip, node, npm.
    3. Gulp npm install -g gulp
  2. Install npm dependencies npm ci
  3. Install other dependencies npm run deps
Add env_vars.yaml

Create a file named env_vars.yaml in the root directory and fill it with:

env_variables:
  DJANGO_SETTINGS_MODULE: 'settings'
  FIREBASE_SERVER_KEY: <SERVER_KEY>

The FIREBASE_SERVER_KEY is the Firebase server key obtained from the Firebase console.

Developing

To start the main server and the notifier backend, run:

npm start

To start front end code watching (sass, js lint check, babel, minify files), run

npm run watch

To run lint & lit-analyzer:

npm run lint

To run unit tests:

npm run test

Note: featurelist is temporarily excluded because lit-analyzer throws Maximum call stack size exceeded.

There are some developing information in developer-documentation.md.

FCM setup

If you want to test push notification features, you'll need to create a file named .fcm_server_key in the main project root. Copy in the FCM server key obtained from the Firebase console.

When ./scripts/start_server.sh is run, it will populate this value as an environment variable.

Notes

  • Locally, the /feature list pulls from prod (https://www.chromestatus.com/features.json). Opening one of the features will 404 because the entry is not actually in the local db. If you want to test local entries, modify templates/features.html to pull locally and add some db entries by signing in to the app (bottom link). Make sure to check the "sign in as admin" box when doing so. Note that you can also simply go to http://127.0.0.1:8080/ instead of localhost to pull locally.

Chromestatus gets the list of Blink components from a separate app running on Firebase. See source.

Visit http://localhost:8080/admin/blink/populate_blink to see the list of Blink component owners.

Debugging / settings

settings.py contains a list of globals for debugging and running the site locally.

SEND_EMAIL - False will turn off email notifications to feature owners.

SEND_PUSH_NOTIFICATIONS - False will turn off sending push notifications for all users.

Deploying

Note you need to have admin privileges on the cr-status cloud project to be able to deploy the site.

Run the helper script:

./scripts/deploy_site.sh <YYYY-MM-DD>

Where <YYYY-MM-DD> is today's date, which will be used as the deployment's version number. This will build the site and deploy it to GAE.

Lastly, open the Google Developer Console and flip to the new version by selecting from the list and clicking MIGRATE TRAFFIC. Make sure to do this for both the 'default' service as well as for the 'notifier' service.

LICENSE

Copyright (c) 2013-2016 Google Inc. All rights reserved.

Apache2 License.

Analytics