5cd94d14bc
This fixes an issue (#595) where several of the form fields added in #589 were not marked as multiline entries in the database (i.e. the form fields could only contain a single line of text). This changes that, and also fixes an issue with the Web Platform Tests checkbox couldn't be left unchecked. |
||
---|---|---|
cloudstorage | ||
customtags | ||
data | ||
http2push@7b63c8d258 | ||
scripts | ||
static | ||
templates | ||
travis | ||
.babelrc | ||
.bowerrc | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
Gruntfile.js | ||
LICENSE | ||
README.md | ||
README.txt | ||
admin.py | ||
app.yaml | ||
appengine_config.py | ||
blink_handler.py | ||
bower.json | ||
bulkloader.yaml | ||
bulkloader_helpers.py | ||
common.py | ||
config.rb | ||
cron.yaml | ||
gcloud-client-secret.json.enc | ||
gulpfile.babel.js | ||
import.csv | ||
index.yaml | ||
metrics.py | ||
models.py | ||
notifier.py | ||
notifier.yaml | ||
package.json | ||
push_manifest_features.json | ||
push_manifest_metrics.json | ||
queue.yaml | ||
requirements.txt | ||
schedule.py | ||
server-delay.py | ||
server.py | ||
settings.py | ||
skip_files.yaml | ||
users.py | ||
util.py | ||
yarn.lock |
README.md
Chrome Platform Status
Get the code
git clone --recursive https://github.com/GoogleChrome/chromium-dashboard
Installation
First, install the Google App Engine SDK for Python.
You'll also need pip, node, npm, and gulp:
npm install -g bower gulp
npm install
This will also pull down bower_components and run gulp
to build the site.
Developing
To start the main server and the notifier backend, run:
./scripts/start_server.sh
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.
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, modifytemplates/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 tohttp://127.0.0.1:8080/
instead oflocalhost
to pull locally.
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.
VULCANIZE
- False
, will run the site without vulcanizing the Polymer elements.
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.
First, update the version field in app.yaml
. That will ensure the app deploys
to a versioned URL and helps for rolling back later. Then, 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.
LICENSE
Copyright (c) 2013-2016 Google Inc. All rights reserved.
Apache2 License.