Chrome Status Dashboard
Перейти к файлу
dependabot[bot] dd51bc49a7
npm: bump eslint from 9.9.0 to 9.9.1 (#4297)
Bumps [eslint](https://github.com/eslint/eslint) from 9.9.0 to 9.9.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.9.0...v9.9.1)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-29 09:27:51 -07:00
.devcontainer Keep dependencies, including playwright package deps, up to date on each devcontainer startup. (#3964) 2024-06-13 06:39:58 -07:00
.github gh-actions: bump ossf/scorecard-action from 2.3.3 to 2.4.0 (#4192) 2024-07-30 15:59:33 -07:00
.vscode Recommend the Ruff extension to everyone (#3638) 2024-02-05 10:51:54 -08:00
api OpenAPI: OT (#4226) 2024-08-29 02:23:27 -05:00
client-src roadmap bug fix (#4304) 2024-08-28 10:55:49 -07:00
data Add dev API to write and delete test data (#2475) 2022-11-16 22:48:38 -08:00
framework OpenAPI: OT (#4226) 2024-08-29 02:23:27 -05:00
gen OpenAPI: OT (#4226) 2024-08-29 02:23:27 -05:00
internals Make detection of intent_thread_url more robust (#4300) 2024-08-27 10:29:23 -07:00
openapi OpenAPI: OT (#4226) 2024-08-29 02:23:27 -05:00
packages/playwright Add shipping_year field. (#4257) 2024-08-20 13:26:56 -07:00
pages Delete code for the guide edit handler. (#4270) 2024-08-22 14:31:56 -07:00
scripts Add new OT approvals field `ot_approval_buganizer_custom_field_id` (#4061) 2024-07-09 12:42:43 -07:00
static Update the built CSS. (#3961) 2024-06-11 19:01:02 -07:00
templates add error text argument to OT creation fail email (#4212) 2024-08-13 09:43:09 -07:00
.babelrc TypeScript migration: chromedash-timeline (#3940) 2024-06-11 14:50:10 -05:00
.coveragerc Update test coverage commands and configs (#2225) 2022-09-09 17:48:02 -04:00
.dockerignore Dlaliberte playwright 06 22 (#3184) 2023-09-06 15:35:06 -04:00
.editorconfig Adds eslint. Fixes #350 (#351) 2016-07-19 15:19:06 -07:00
.gcloudignore Add origin trials API key variable to server settings (#3213) 2023-07-31 15:14:14 -07:00
.gitignore Unify all JS building into the Rollup pipeline with module output. (#3991) 2024-06-24 13:31:02 -07:00
.prettierrc.js Configure formatting with Prettier via gts. 2024-04-17 08:58:58 -07:00
CODE_OF_CONDUCT.md Add code of conduct to project. 2020-07-31 12:19:13 -07:00
Dockerfile Dlaliberte playwright 06 22 (#3184) 2023-09-06 15:35:06 -04:00
LICENSE Apache2 license 2016-07-08 13:09:02 -07:00
README.md Flatten the playwright workspace down into the root package.json. (#4082) 2024-07-09 13:16:43 -07:00
app.staging.yaml Upgrade to python3.11. (#3183) 2023-07-17 12:49:25 -07:00
app.yaml Upgrade to python3.11. (#3183) 2023-07-17 12:49:25 -07:00
appengine_config.py Remove all references to django (#2358) 2022-10-19 13:51:39 -04:00
config.rb Move source for generated frontend to client-src (#2351) 2022-10-17 17:01:12 -04:00
cron.yaml Update OT process reminders weekly run time (#4136) 2024-07-17 17:45:13 -07:00
developer-documentation.md Unify all JS building into the Rollup pipeline with module output. (#3991) 2024-06-24 13:31:02 -07:00
dispatch.yaml Notify subscribers of a new comment (#2835) 2023-03-20 10:08:24 -07:00
eslint.config.js Unify all JS building into the Rollup pipeline with module output. (#3991) 2024-06-24 13:31:02 -07:00
gulpfile.babel.js Unify all JS building into the Rollup pipeline with module output. (#3991) 2024-06-24 13:31:02 -07:00
hack_components.py Add the new crbug `Privacy>NavTracking` component. (#2277) 2022-09-28 10:24:27 -07:00
index.yaml Allow searching by rollout milestone. (#4056) 2024-07-08 09:33:11 -07:00
main.py Delete code for the guide edit handler. (#4270) 2024-08-22 14:31:56 -07:00
main_test.py Add new route dataclass (#2456) 2022-11-09 10:06:59 -08:00
notifier.staging.yaml Avoid OOMs on staging notifier (#4007) 2024-06-25 08:46:27 -07:00
notifier.yaml Give more RAM to notifier to avoid OOMs. (#3888) 2024-05-15 13:11:02 -07:00
openapi-documentation.md Add OpenAPI documentation [1/5] (#2769) 2023-03-24 17:23:02 -04:00
openapitools.json Update openapi-generator to 7.6. (#3905) 2024-05-23 11:53:11 -07:00
package-lock.json npm: bump eslint from 9.9.0 to 9.9.1 (#4297) 2024-08-29 09:27:51 -07:00
package.json npm: bump eslint from 9.9.0 to 9.9.1 (#4297) 2024-08-29 09:27:51 -07:00
pyproject.toml Recommend the Ruff extension to everyone (#3638) 2024-02-05 10:51:54 -08:00
queue.yaml HTML emails to feature owners 2017-08-06 19:24:18 -07:00
requirements.dev.txt Bump gunicorn from 20.1.0 to 22.0.0 (#3802) 2024-04-17 18:24:10 -07:00
requirements.txt Run mypy on generated openapi code too (#4303) 2024-08-28 17:45:56 -07:00
settings.py Add setting for automated OT creation flag (#4122) 2024-07-17 15:14:50 -07:00
testing_config.py Run mypy in Github continuous integration checks (#2324) 2022-10-24 06:40:21 -07:00
tsconfig.json Typescript migration: misc files/introduce build as an intermediate step (#3958) 2024-06-14 12:29:35 -05: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

For a one-click setup that leverages devcontainers, check out the devcontainer README. Otherwise, to continue setting up locally:

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

Installation

  1. Install gcloud and needed components:
    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 and openapi-generator-cli.
    2. Google App Engine SDK for Python. Make sure to select Python 3.
    3. gcloud init
    4. gcloud components install cloud-datastore-emulator
    5. gcloud components install beta
  2. Install other developer tools commands
    1. node and npm.
    2. Gulp: npm install --global gulp-cli
    3. Python virtual environment: sudo apt install python3.11-venv
  3. We recommend using an older node version, e.g. node 18
    1. Use node -v to check the default node version
    2. nvm use 18 to switch to node 18
  4. cd chromium-dashboard
  5. Install JS an python dependencies: npm run setup
    1. Note: Whenever we make changes to package.json or requirements.txt, you will need to run npm run clean-setup.

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.

To update test_html_rendering.html, modify the test_html_rendering method in the corresponding test file, uncomment the line that looks like:

 # TESTDATA.make_golden(template_text, 'test_html_rendering.html')

Then run the test again (and maybe one more time), and then you can revert your change of the test files.

To run the Playwright visual tests (aka end-to-end tests), the command to use is:

npm run pwtests

If there are errors, they will be displayed in the console. If you need to update any of the screenshot images, you will see differences in the packages/playwright/test-results directory, and if they look correct, then you can update all images for all tests with:

npm run pwtests-update

The updated images are also added to the screenshots directory. Images that did not need to be updated do not show up as having been changed. If you change the test file names, or the test method names, or the screenshot image file names, then new files will be generated, and you will need to manually delete the old files. You could simply delete all screenshots and update all, but that will take a fairly long time.

You can update images for just one test file by adding --filename=some_pwtest.js to the pwtests-update command. The some_pwtest.js name does not need to be a full path.

If there are error reported by the GitHub CI playwright action, you can look at the error log, but if the problem is a difference in some of the images, you should probably download the artifact .zip file containing all the differences.

There is some additional information for developers in developer-documentation.md.

Origin Trials

To test the functionality of this application locally that interacts with data from the Origin Trials API, an API key will need to be acquired. To do this, run the following command:

npm run dev-ot-key

Note: Only developers with access to the cr-status-staging GCP project will be able to successfully run this command. If you need to test this and you don't have access, open an issue.

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 npm run stop-emulator; npm stop. Or, use ps aux | grep gunicorn and/or ps aux | grep emulator, then use the unix kill -9 command to terminate those jobs.

  • If you need to test or debug anything to do with dependencies, you can get a clean start by running npm run clean-setup.

  • Occasionally, the Google Cloud CLI will requires an update, which will cause a failure when trying to run the development server with npm start. An unrelated error message Failed to connect to localhost port 15606 after 0 ms: Connection refused will appear. Running the gcloud components update command will update as needed and resolve this issue.

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

Alternatively, run npm run staging-rc to upload 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