Chrome Status Dashboard
Перейти к файлу
Jason Robbins 6aecdb1420
Resolve some more code scanning issues. (#1700)
* Resolve some more code scanning issues.

* Dont log secret prefix.

* Try to outsmart scanner
2022-01-25 16:40:00 -08:00
.github Create codeql-analysis.yml (#1690) 2022-01-24 14:14:09 -08:00
api In py3 code, replace the separate mock lib with unittest.mock. (#1665) 2022-01-11 08:20:40 -08:00
customtags Run 2to3 to detect py2 to py3 changes (#1551) 2021-09-22 18:23:14 -07:00
data Update devrel_team.yaml 2018-08-01 12:29:31 -07:00
framework Resolve some more code scanning issues. (#1700) 2022-01-25 16:40:00 -08:00
http2push@7b63c8d258 Add experimental features to shipping samples 2016-04-08 15:19:12 +05:30
internals Addressed some code scanning warnings. (#1699) 2022-01-25 11:11:39 -08:00
pages Resolve some more code scanning issues. (#1700) 2022-01-25 16:40:00 -08:00
py2 Fix URL quoting of message-id to allow email threading. (#1664) 2022-01-07 16:13:27 -08:00
scripts Further separate py2 code. (#1657) 2022-01-05 16:22:01 -08:00
static Accept trailing commas added by our new JS compiler. (#1685) 2022-01-18 16:13:25 -08:00
templates Resolve some more code scanning issues. (#1700) 2022-01-25 16:40:00 -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
.gcloudignore Make app deployable with py3. (#1559) 2021-09-24 15:19:17 -07:00
.gitignore Add cs-env to .gitignore. (#1563) 2021-09-27 15:03:52 -07: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 Update setup instructions. (#1548) 2021-09-22 11:00:11 -07:00
app-py3.yaml Upgrade to instances with more RAM. (#1607) 2021-11-12 08:42:02 -08:00
appengine_config.py Use urlfetch directly in py2 code. (#1590) 2021-10-26 17:33:00 -07:00
config.rb Init commit of chromium feature dashboard 2013-03-07 10:29:38 -08:00
cron.yaml Make metrics fetch more robust and debuggable. 2021-01-20 19:21:14 -05:00
developer-documentation.md Delete some more unused code. (#1547) 2021-09-21 17:50:19 -07:00
dispatch.yaml Further separate py2 code. (#1657) 2022-01-05 16:22:01 -08:00
gcloud-client-secret.json.enc Travis Lighthouse setup 2017-03-31 19:45:04 -07:00
gulpfile.babel.js Remove service worker (#936) 2020-07-29 14:33:27 -07:00
hack_components.py hack_components: Add "Blink>BatteryStatus" component. (#1672) 2022-01-13 13:01:07 -08:00
index.yaml Add indexes for queries done when closing a review. (#1660) 2022-01-05 08:26:33 -08:00
main.py Addressed some code scanning warnings. (#1699) 2022-01-25 11:11:39 -08:00
notifier.yaml Get inbound email and route it to py3 code for processing (#1561) 2021-09-28 14:57:37 -07:00
package-lock.json npm: bump dot-prop from 5.2.0 to 7.1.1 (#1696) 2022-01-24 13:12:42 -08:00
package.json npm: bump dot-prop from 5.2.0 to 7.1.1 (#1696) 2022-01-24 13:12:42 -08:00
queue.yaml HTML emails to feature owners 2017-08-06 19:24:18 -07:00
requirements.dev.txt 20210317 fix npm run coverage (#1212) 2021-03-24 09:45:25 -07:00
requirements.txt Bring Django to the latest release (#1662) 2022-01-13 14:05:22 -08:00
settings.py Implement posting review comments to blink-dev mailing list. (#1611) 2021-11-22 14:41:00 -08:00
testing_config.py Update call to create_task() to match updated GCT. (#1654) 2022-01-05 08:30:08 -08:00

README.md

Chrome Platform Status

Lighthouse score: 100/100

chromestatus.com

Get the code

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

Installation

  1. Before you begin, make sure that you have a java JRE (version 8 or greater) installed. JRE is required to use the DataStore Emulator.
  2. Install global CLIs
    1. Google App Engine SDK for Python. Make sure to select Python 3.
    2. pip, node, npm.
    3. Gulp npm install --global gulp-cli
  3. Install npm dependencies npm ci
  4. Create a virtual environment.
    1. apt install python3.9-venv
    2. python3 -m venv cs-env
    3. source cs-env/bin/activate
  5. Install other dependencies npm run deps and npm run dev-deps

You will need to activate the venv in every shell that you use.

  1. source cs-env/bin/activate

If you face any error during the installation process, the section Notes (later in this README.md) may help.

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'
  DJANGO_SECRET: 'this-is-a-secret'

Developing

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

npm start

Then visit http://localhost:8080/.

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 test

This will start a local datastore emulator, run unit tests, and then shut down the emulator.

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

Notes

  • If you get an error saying No module named protobuf or No module named six or No module named enum , try installing them locally with pip install six enum34 protobuf.

  • When installing the GAE SDK, make sure to get the version for python 2.7. It is no longer the default version.

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.

Deploying

If you have uncommited local changes, the appengine version name will end with -tainted. It is OK to test on staging with tainted versions, but everything should be committed (and thus not tainted) before staging a version that can later be pushed to prod.

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

Run the npm target:

npm run staging

Open the Google Developer Console for the staging site 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.

Each deployment also uploads the same code to a version named rc for "Release candidate". This is the only version that you can test using Google Sign-In at https://rc-dot-cr-status-staging.appspot.com.

If manual testing on the staging server looks good, then repeat the same steps to deploy to prod:

npm run deploy

Open the Google Developer Console for the production site

The production site should only have versions that match versions on staging.

LICENSE

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

Apache2 License.

Analytics