Chromestatus.com - это официальный инструмент, используемый для отслеживания функций, запущенных в Blink (двигатель браузера, который питает Chrome и многие другие веб -браузеры). На этом инструменте представлены владельцы в рамках нашего процесса запуска и служат основным источником информации о разработчике, которая затем RUBING по всей экосистеме веб -разработчика.
Для настройки одного клика, которая использует DevContainers, ознакомьтесь с DevContainer Readme. В противном случае, чтобы продолжить настройку на местном уровне:
git clone https://github.com/GoogleChrome/chromium-dashboard
gcloud initgcloud components install cloud-datastore-emulatorgcloud components install betanpm install --global gulp-clisudo apt install python3.11-venvnode -v , чтобы проверить версию узла по умолчаниюnvm use 18 чтобы переключиться на узел 18cd chromium-dashboardnpm run setupnpm run clean-setup .Если вы столкнетесь с какой -либо ошибкой во время процесса установки, раздел примечает (позже в этом readme.md) может помочь.
Чтобы запустить основной сервер и бэкэнд уведомления, запустите:
npm start Затем посетите http://localhost:7777/ .
Чтобы начать просмотр кода переднего конечного кода (Sass, JS Lint Check, Babel, Minify Files), запустите
npm run watchЧтобы запустить Lint & Lit-Analyzer:
npm run lintЧтобы запустить модульные тесты:
npm testЭто запустит локальный эмулятор данных, запустить модульные тесты, а затем отключите эмулятор.
Чтобы обновить test_html_rendering.html, измените метод test_html_rendering в соответствующем файле тестирования, расстроен строку, которая выглядит так:
# TESTDATA.make_golden(template_text, 'test_html_rendering.html')Затем запустите тест снова (и, возможно, еще раз), а затем вы можете вернуть изменение тестовых файлов.
Чтобы запустить визуальные тесты Playwright (он же сквозные тесты), команда для использования-это:
npm run pwtests Если есть ошибки, они будут отображаться в консоли. Если вам нужно обновить какое-либо из изображений экрана, вы увидите различия в каталоге packages/playwright/test-results , и если они выглядят правильно, то вы можете обновить все изображения для всех тестов с помощью:
npm run pwtests-updateОбновленные изображения также добавляются в каталог скриншотов . Изображения, которые не должны были быть обновлены, не отображаются как измененные. Если вы измените имена файлов тестирования или имена методов тестирования, или имена файлов изображений экрана, то будут сгенерированы новые файлы, и вам нужно будет вручную удалить старые файлы. Вы можете просто удалить все скриншоты и обновить все, но это займет довольно много времени.
Вы можете обновить изображения только для одного тестового файла, добавив --filename=some_pwtest.js в команду pwtests-update . Название some_pwtest.js не должно быть полным путем.
Если есть ошибка, сообщаемая действием GitHub CI Playwright, вы можете посмотреть на журнал ошибок, но если проблема в некоторых изображениях, вы, вероятно, должны загрузить файл Artifact .zip , содержащий все различия.
Существует некоторая дополнительная информация для разработчиков в разработчике-документации.md.
Чтобы проверить функциональность этого приложения локально, которое взаимодействует с данными из API исходных испытаний, необходимо будет получить ключ API. Для этого запустите следующую команду:
npm run dev-ot-keyПРИМЕЧАНИЕ. Только разработчики с доступом к проекту GCP-статуса CR-Status смогут успешно запустить эту команду. Если вам нужно проверить это, и у вас нет доступа, откройте проблему.
Примечания
Если вы получите ошибку, в которой говорится, что No module named protobuf или No module named six или No module named enum , попробуйте установить их локально с pip install six enum34 protobuf .
При установке GAE SDK, обязательно получите версию для Python 3.
Если вы запускаете сервер локально, а затем отключены от вашего терминального окна, задания могут оставаться выполненными, что помешает вам снова запустить сервер. Чтобы обойти это, используйте npm run stop-emulator; npm stop . Или используйте ps aux | grep gunicorn и/или ps aux | grep emulator , затем используйте команду Unix kill -9 чтобы прекратить эти задания.
Если вам нужно протестировать или отлаживать что-либо, связанное с зависимостями, вы можете получить чистое начало, запустив npm run clean-setup .
Иногда, Google Cloud CLI потребует обновления, которое вызовет сбой при попытке запустить сервер разработки с npm start . Непонятое сообщение об ошибке Failed to connect to localhost port 15606 after 0 ms: Connection refused . Запуск команды gcloud components update будет обновляться по мере необходимости и решить эту проблему.
Chromestatus в настоящее время получает список компонентов Blink из файла hack_components.py .
Посетите http: // localhost: 7777/admin/blink/opulate_blink, чтобы увидеть список владельцев компонентов Blink.
settings.py содержит список глобалов для отладки и запуска сайта локально.
Если вы не заказали локальные изменения, имя версии Appengine заканчивается с -tainted . Можно проверить на постановке с испорченными версиями, но все должно быть совершено (и, следовательно, не испорчено) перед постановкой версии, которую впоследствии можно подтолкнуть к проточке.
ПРИМЕЧАНИЕ. Вы должны иметь привилегии администратора в области облачных проектов cr-status-staging и cr-status чтобы иметь возможность развертывать сайт.
Запустите цель NPM:
npm run staging
Откройте консоль разработчика Google для постановки и переверните новую версию, выбрав из списка и нажав Migrate Traffe . Обязательно сделайте это как для службы «по умолчанию», так и для службы «уведомления».
В качестве альтернативы, запустите npm run staging-rc , чтобы загрузить тот же код в версию с именем rc для «Кандидата в релиз». Это единственная версия, которую вы можете проверить, используя вход Google по адресу https://rc-dot-cr-status-staging.appspot.com .
Если ручное тестирование на проставочном сервере выглядит хорошо, повторите те же шаги, чтобы развернуть для Prod:
npm run deploy
Откройте консоль разработчиков Google для производственного сайта
Производственный сайт должен иметь только версии, которые соответствуют версиям при постановке.
Copyright (C) 2013-2022 Google Inc. Все права защищены.
Apache2 Лицензия.