Chrome Status Dashboard
Перейти к файлу
Shivam Agarwal 8fbebb7989
20210418 google sign in (#1275)
* Added Google Platform Library

* Added Meta Element for Client ID

* Added Google Sign-In Button

* Authenticating the id_token on our backend

* Saving id_token in flask session, using the id_token to fetch the current user and replaced the usages of AppEngine Users API (not from *_tests.py)

* Correct the flow on pressing SignIn and SignOut

* Code refactor

* Added Comment for is_current_user_admin

* Supporting GAE Users library for post request

* Made some fixes

* Changed Admin User condition

* Reloading only on 200 response code

* Do not require sign in and xsrf token while sending post request for login

* Sign Out using Google Sign In if cookie is not set after login

* Clearing the session if the id_token stored in the session variable becomes invalid or expires

* Replaced GAE Users from tests

* Replaced GAE users with framework users in tests.py
2021-05-06 16:37:30 -07:00
.github/ISSUE_TEMPLATE Update issue templates 2020-08-06 07:59:25 -07:00
api 20210418 google sign in (#1275) 2021-05-06 16:37:30 -07:00
customtags remove unused customtag verbatim 2021-02-24 16:55:19 -05:00
data Update devrel_team.yaml 2018-08-01 12:29:31 -07:00
framework 20210418 google sign in (#1275) 2021-05-06 16:37:30 -07:00
http2push@7b63c8d258 Add experimental features to shipping samples 2016-04-08 15:19:12 +05:30
internals 20210418 google sign in (#1275) 2021-05-06 16:37:30 -07:00
pages 20210418 google sign in (#1275) 2021-05-06 16:37:30 -07:00
scripts 20210418 google sign in (#1275) 2021-05-06 16:37:30 -07:00
static Re-enabled experiment timeline if it is not empty. (#1307) 2021-05-06 08:55:39 -07:00
templates 20210418 google sign in (#1275) 2021-05-06 16:37:30 -07:00
travis Remove lighthouse-ci travis target. (#1217) 2021-03-19 11:18:51 -07: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 Remove lighthouse-ci travis target. (#1217) 2021-03-19 11:18:51 -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 Stop hitting prod when testing locally. (#1292) 2021-04-28 15:17:39 -07:00
app.yaml Check perms in code rather than app.yaml. (#1238) 2021-03-24 15:11:00 -07:00
appengine_config.py Fix usage of requests library for py2 GAE server. 2021-03-16 16:22:47 -04: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 20210418 google sign in (#1275) 2021-05-06 16:37:30 -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 Remove a few more references to unused service worker. 2021-02-25 16:14:18 -05: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
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
index.yaml Added Horizontal Navbar to access timeline and stackrank views on narrow view ports for all features and animated features (#1256) 2021-04-06 13:43:22 -07:00
notifier.yaml Fix module name in notifier config file. (#1255) 2021-04-06 10:05:05 -07:00
package-lock.json Upgraded urijs library to address a security concern. (#1195) 2021-03-11 09:21:46 -08:00
package.json Work around crumbling python2 support. (#1263) 2021-04-12 18:18:29 -07: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.travis.txt Fixed : Failing Tests in Travis CI (#1211) 2021-03-17 09:09:55 -07:00
requirements.txt 20210317 fix npm run coverage (#1212) 2021-03-24 09:45:25 -07:00
settings.py Fix month for site banner (#1305) 2021-05-05 13:16:34 -07:00
skip_files.yaml Only skip directories named "tests", not partial filenames. 2021-03-16 19:07:59 -04:00
testing_config.py Delete code for the legacy feature editing UI. (#1231) 2021-03-23 09:28:46 -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 and npm run dev-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'
  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 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.

Notes

  • If you get an error saying No module named protobuf, try installing it locally with python -m pip install protobuf.

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

  • When running npm start you may get an ImportError for jinja2.tests. This was caused by an over-general line in skip_files.yaml. Pulling the latest source code should resolve the problem.

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.

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