Chrome Status Dashboard
Перейти к файлу
Jason Robbins c610e44e99
Upgrade from GAE taskqueue to Google Cloud Tasks (#1141)
* Upgrade from GAE taskqueue to Google Cloud Tasks.

* added unit tests

* Add link to Monorail file that I referenced.

* Add grpcio to travis build

* Try installing grpcio locally first

* Try installing grpcio via sudo

* Try a smaller set of deps for travis.

* Debug travis config

* Avoided missing imports while running unit tests on travis

* Removed travis debugging lines
2021-01-15 15:50:36 -08:00
.github/ISSUE_TEMPLATE Update issue templates 2020-08-06 07:59:25 -07:00
customtags [py3] Add import __future__ lines to all files and update print statements. 2020-12-01 14:18:14 -05: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 Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -08:00
static Start flask upgrading from webapp2 to flask (#1115) 2020-12-16 08:38:33 -08:00
templates Upgrade notifier.py to use flask. 2020-12-23 18:25:04 -05:00
tests Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -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
.coveragerc Added test coverage tool. 2020-09-08 20:34:13 -04: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 Added test coverage tool. 2020-09-08 20:34:13 -04:00
.gitmodules Add http2push-gae 2015-10-13 15:13:53 -07:00
.travis.yml Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -08:00
CODE_OF_CONDUCT.md Add code of conduct to project. 2020-07-31 12:19:13 -07: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 Return something from Yesterday handler to satisfy Flask. 2021-01-14 20:17:16 -05:00
app.yaml Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -08:00
appengine_config.py Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -08:00
blink_handler.py Upgrade blink_handler.py and schedule.py to use flask. 2020-12-23 13:46:40 -05: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 [py3] Add import __future__ lines to all files and update print statements. 2020-12-01 14:18:14 -05:00
cloud_tasks_helpers.py Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -08:00
common.py Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -08:00
config.rb Init commit of chromium feature dashboard 2013-03-07 10:29:38 -08:00
cron.yaml Work-around inability to check stackrank expected cache chunks. (#1063) 2020-10-09 14:47:34 -07:00
cues.py Start flask upgrading from webapp2 to flask (#1115) 2020-12-16 08:38:33 -08:00
developer-documentation.md Rename _base.html 2019-06-28 10:28:01 -07:00
dispatch.yaml Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -08:00
gcloud-client-secret.json.enc Travis Lighthouse setup 2017-03-31 19:45:04 -07:00
guide.py Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -08:00
guideforms.py Update the interop risk help link to a target that is more specific. (#1091) 2020-12-17 16:40:33 -08:00
gulpfile.babel.js Remove service worker (#936) 2020-07-29 14:33:27 -07:00
hack_components.py Add Blink>Storage>FontAccess to components list (#1053) 2020-10-01 15:20:37 -07: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 Fix urlize() usage for feature comments by defining autolink(). (#1039) 2020-09-24 14:56:06 -07:00
metrics.py Remove unneeded MEMCACHE_KEY_PREFIX and simplify other names. 2021-01-07 16:00:54 -05:00
models.py Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -08:00
notifier.py Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -08:00
notifier.yaml Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -08:00
package-lock.json Updated urijs library to resolve a security warning. 2021-01-07 20:28:08 -05:00
package.json Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -08:00
processes.py Implement api_spec checkbox. (#1064) 2020-10-14 13:12:05 -07: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
ramcache.py Remove old memcache chunking work-around because ramcache does not need it. 2020-12-30 16:13:03 -05:00
requirements.dev.txt Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -08:00
requirements.travis.txt Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -08:00
requirements.txt Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -08:00
schedule.py Remove unneeded MEMCACHE_KEY_PREFIX and simplify other names. 2021-01-07 16:00:54 -05:00
server.py Remove unneeded MEMCACHE_KEY_PREFIX and simplify other names. 2021-01-07 16:00:54 -05:00
settings.py Upgrade from GAE taskqueue to Google Cloud Tasks (#1141) 2021-01-15 15:50:36 -08:00
skip_files.yaml Cleanup new deploy, shared skip_files, fixes for prod 2017-07-02 22:14:35 -07:00
users.py Start flask upgrading from webapp2 to flask (#1115) 2020-12-16 08:38:33 -08:00
util.py Replace memcache with a RAM-based cache. (#1106) 2020-12-10 17:04:48 -08: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