Chrome Status Dashboard
Перейти к файлу
Jason Robbins 7ef2e31f7a
Update edit feature link in email announcement. (#1986)
2022-06-30 11:52:19 -07:00
.github Send and receive emails in py3 using GAE legacy libraries (#1923) 2022-06-10 14:56:40 -07:00
api Implement search result paginaton in the server-side internals. (#1984) 2022-06-30 10:41:37 -07:00
customtags Run 2to3 to detect py2 to py3 changes (#1551) 2021-09-22 18:23:14 -07:00
data Remove people who are no longer at Google. 2022-02-11 07:02:38 -08:00
framework Add permissions API and move all feature content and js scripts into feature-page component (#1972) 2022-06-25 10:54:02 -04:00
internals Implement search result paginaton in the server-side internals. (#1984) 2022-06-30 10:41:37 -07:00
pages Add chromedash-form-table and -form-field and use for all feature field forms (#1981) 2022-06-29 23:58:08 -04:00
scripts Send and receive emails in py3 using GAE legacy libraries (#1923) 2022-06-10 14:56:40 -07:00
static Implement search result paginaton in the server-side internals. (#1984) 2022-06-30 10:41:37 -07:00
templates Update edit feature link in email announcement. (#1986) 2022-06-30 11:52:19 -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
.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 Be explicit about using python3.9. (#1983) 2022-06-28 08:12:44 -07:00
app.yaml Use long Expires with GAE version as buster. (#1969) 2022-06-24 14:42:31 -07:00
appengine_config.py Avoid needing to run py2 on workstations. (#1734) 2022-02-15 13:31:27 -08: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 Updated developer docs (#1798) 2022-03-18 16:43:25 -07:00
dispatch.yaml Send and receive emails in py3 using GAE legacy libraries (#1923) 2022-06-10 14:56:40 -07:00
gulpfile.babel.js Add shoelace and gulp-concat. Replace process-overview dialog with shoelace dialog (#1842) 2022-04-18 14:57:57 -04:00
hack_components.py Rename WebID to FedCM. (#1772) 2022-03-03 17:55:38 -08:00
index.yaml Add index for new ot_milestone_webview_start field. (#1833) 2022-04-13 09:25:48 -07:00
main.py Add permissions API and move all feature content and js scripts into feature-page component (#1972) 2022-06-25 10:54:02 -04:00
notifier.yaml Eliminate unneeded env_vars.yaml. (#1957) 2022-06-21 11:11:05 -07:00
package-lock.json npm: bump @babel/register from 7.17.7 to 7.18.6 (#1980) 2022-06-27 14:19:28 -07:00
package.json Be explicit about using python3.9. (#1983) 2022-06-28 08:12:44 -07:00
queue.yaml HTML emails to feature owners 2017-08-06 19:24:18 -07:00
requirements.dev.txt Be explicit about using python3.9. (#1983) 2022-06-28 08:12:44 -07:00
requirements.txt Upgrade Flask and related libraries. (#1956) 2022-06-20 16:56:22 -07:00
settings.py Define and use chromedash-textarea. Use sl-input. (#1921) 2022-06-12 15:47:13 -04:00
testing_config.py Send and receive emails in py3 using GAE legacy libraries (#1923) 2022-06-10 14:56:40 -07:00

README.md

Chrome Platform Status

Mission

chromestatus.com is the official tool used for for tracking feature launches in Blink (the browser engine that powers Chrome and many other web browsers). This tool guides feature owners through our launch process and serves as a primary source for developer information that then ripples throughout the web developer ecosystem.

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 in the home directory
    1. Google App Engine SDK for Python. Make sure to select Python 3.
    2. node and npm.
    3. Gulp npm install --global gulp-cli
  3. We recommend using an older node version, e.g. node 10
    1. Use node -v to check the default node version
    2. nvm use 12 to switch to node 12
  4. cd into the Chromestatus repo and install npm dependencies npm ci
  5. Create a virtual environment.
    1. sudo apt install python3.9-venv
    2. python3.9 -m venv cs-env
  6. Install other dependencies
    1. npm run deps
    2. npm run dev-deps

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

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 3.

  • If you run the server locally, and then you are disconnected from your terminial window, the jobs might remain running which will prevent you from starting the server again. To work around this, use ps aux | grep gunicorn and then use the unix kill -9 command to terminate those jobs.

Chromestatus currently gets the list of Blink components from the file hack_components.py.

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-2022 Google Inc. All rights reserved.

Apache2 License.

Analytics