Git Product home page Git Product logo

chromium-dashboard's Introduction

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

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.

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, go to http://127.0.0.1:8080/ instead of localhost to use local data.

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

Blink components

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

Seed the blink component owners

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

chromium-dashboard's People

Contributors

ebidel avatar jrobbins avatar jpmedley avatar aglaforge avatar jrobbins-at-chromium avatar beaufortfrancois avatar jeffposnick avatar jstenback avatar jpchase avatar rbyers avatar mdittmer avatar mathiasbynens avatar phistuck avatar foolip avatar sethladd avatar maxh avatar liyangguang avatar cwilso avatar paulirish avatar shivamag00 avatar avidrissman avatar paulkinlan avatar crypticwizard avatar navidz avatar mounirlamouri avatar clelland avatar wh0 avatar holte avatar sof avatar ritarshi-chattaraj avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.