Chromestatus.com es la herramienta oficial utilizada para el lanzamiento de funciones de seguimiento en Blink (el motor del navegador que alimenta a Chrome y muchos otros navegadores web). Esta herramienta guía a los propietarios de características a través de nuestro proceso de lanzamiento y sirve como fuente principal de información del desarrollador que luego se riega en todo el ecosistema del desarrollador web.
Para obtener una configuración de un solo clic que aproveche DevContainers, consulte el ReadMe de DevContainer. De lo contrario, para continuar configurando localmente:
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 para verificar la versión de nodo predeterminadanvm use 18 para cambiar al nodo 18cd chromium-dashboardnpm run setupnpm run clean-setup .Si encuentra algún error durante el proceso de instalación, las notas de sección (más adelante en este readMe.md) pueden ayudar.
Para iniciar el servidor principal y el backend del notificador, ejecute:
npm start Luego visite http://localhost:7777/ .
Para comenzar la observación del código frontal (Sass, JS Lint Check, Babel, Minify Archivos), Ejecutar
npm run watchPara correr pelusas y analizador iluminado:
npm run lintPara ejecutar pruebas unitarias:
npm testEsto iniciará un emulador de almacén de datos local, ejecutará pruebas unitarias y luego cerrará el emulador.
Para actualizar test_html_rendering.html, modifique el método test_html_rendering en el archivo de prueba correspondiente, sin comment la línea que parece:
# TESTDATA.make_golden(template_text, 'test_html_rendering.html')Luego ejecute la prueba nuevamente (y tal vez una vez más), y luego puede revertir su cambio de los archivos de prueba.
Para ejecutar las pruebas visuales del dramaturgo (también conocido como pruebas de extremo a extremo), el comando para usar es:
npm run pwtests Si hay errores, se mostrarán en la consola. Si necesita actualizar cualquiera de las imágenes de captura de pantalla, verá diferencias en el directorio packages/playwright/test-results , y si se ven correctos, puede actualizar todas las imágenes para todas las pruebas con:
npm run pwtests-updateLas imágenes actualizadas también se agregan al directorio de capturas de pantalla . Las imágenes que no necesitaban actualizarse no aparecen como se han cambiado. Si cambia los nombres de archivo de prueba, o los nombres de los métodos de prueba, o los nombres de los archivos de imagen de captura de pantalla, se generarán nuevos archivos, y deberá eliminar manualmente los archivos antiguos. Simplemente podría eliminar todas las capturas de pantalla y actualizar todo, pero eso llevará mucho tiempo.
Puede actualizar las imágenes para un solo archivo de prueba agregando --filename=some_pwtest.js al comando pwtests-update . El nombre de some_pwtest.js no necesita ser una ruta completa.
Si la acción del dramaturgo GitHub CI informa el registro de errores, pero si el problema es una diferencia en algunas de las imágenes, probablemente debería descargar el archivo .zip de artefacto que contiene todas las diferencias.
Hay información adicional para los desarrolladores en la documentación de desarrolladores.
Para probar la funcionalidad de esta aplicación localmente que interactúa con los datos de la API de ensayos de origen, deberá adquirirse una clave API. Para hacer esto, ejecute el siguiente comando:
npm run dev-ot-keyNota: Solo los desarrolladores con acceso al proyecto GCP de estadificación CR-Status podrán ejecutar con éxito este comando. Si necesita probar esto y no tiene acceso, abra un problema.
Notas
Si recibe un error que dice No module named protobuf o No module named six o No module named enum , intente instalarlo localmente con pip install six enum34 protobuf .
Al instalar el GAE SDK, asegúrese de obtener la versión para Python 3.
Si ejecuta el servidor localmente, y luego está desconectado de su ventana terminial, los trabajos pueden permanecer en ejecución, lo que le impedirá comenzar el servidor nuevamente. Para trabajar en torno a esto, use npm run stop-emulator; npm stop . O use ps aux | grep gunicorn y/o ps aux | grep emulator , luego use el comando UNIX kill -9 para terminar esos trabajos.
Si necesita probar o depurar cualquier cosa que ver con las dependencias, puede obtener un inicio limpio ejecutando npm run clean-setup .
Ocasionalmente, la CLI de Google Cloud requiere una actualización, lo que causará una falla al intentar ejecutar el servidor de desarrollo con npm start . Un mensaje de error no relacionado Failed to connect to localhost port 15606 after 0 ms: Connection refused . Ejecución del comando gcloud components update se actualizará según sea necesario y resolverá este problema.
Chromestatus actualmente obtiene la lista de componentes de Blink del archivo hack_components.py .
Visite http: // localhost: 7777/admin/blink/populate_blink para ver la lista de propietarios de componentes de parpadeo.
settings.py contiene una lista de globales para la depuración y la ejecución del sitio localmente.
Si tiene cambios locales no comprometidos, el nombre de la versión Appengine terminará con -tainted . Está bien probar en la puesta en escena con versiones contaminadas, pero todo debe comprometerse (y, por lo tanto, no contaminado) antes de organizar una versión que luego puede ser presionada para producir.
Tenga en cuenta que necesita tener privilegios de administración en los proyectos de cr-status-staging y cr-status Cloud para poder implementar el sitio.
Ejecute el objetivo NPM:
npm run staging
Abra la consola de Google Developer para el sitio de puesta en escena y voltee a la nueva versión seleccionando desde la lista y haciendo clic en el tráfico migrado . Asegúrese de hacer esto tanto para el servicio 'predeterminado' como para el servicio 'notificador'.
Alternativamente, ejecute npm run staging-rc para cargar el mismo código a una versión llamada rc para "Release Candidate". Esta es la única versión que puede probar usando el inicio de sesión de Google en https://rc-dot-cr-status-staging.appspot.com .
Si las pruebas manuales en el servidor de puesta en escena se ve bien, repita los mismos pasos para implementar en Prod:
npm run deploy
Abra la consola de desarrollador de Google para el sitio de producción
El sitio de producción solo debe tener versiones que coincidan con versiones en la puesta en escena.
Copyright (c) 2013-2022 Google Inc. Todos los derechos reservados.
Licencia Apache2.