chromestatus.com ist das offizielle Tool, das für die Tracking -Funktionen in Blink verwendet wird (die Browser -Engine, die Chrome und viele andere Webbrowser betreibt). Dieses Tool führt Eigentümer in unserem Startprozess und dient als primäre Quelle für Entwicklerinformationen, die dann im gesamten Webentwickler -Ökosystem aufweckt werden.
Für ein Ein-Klick-Setup, das DevContainers nutzt, lesen Sie den DevContainer Readme. Ansonsten weiter vor Ort einrichten:
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 um die Standardknotenversion zu überprüfennvm use 18 um auf den Knoten 18 umzusteigencd chromium-dashboardnpm run setupnpm run clean-setup .Wenn Sie beim Installationsprozess auf Fehler stoßen, können die Abschnittsnotizen (später in diesem Readme.md) helfen.
Ausführen:
npm start Besuchen Sie dann http://localhost:7777/ .
So starten Sie den Front -End -Code -Beobachten (SASS, JS Lint Check, Babel, Minify -Dateien) ausführen
npm run watchLint & Lit-Analyzer: Lit-Analyzer:
npm run lintEinheitstests ausführen:
npm testDadurch startet ein lokaler Datenspeicher -Emulator, führt Unit -Tests aus und schaltet dann den Emulator ab.
Um test_html_rendering.html zu aktualisieren, ändern Sie die methode test_html_rendering in der entsprechenden Testdatei und die Zeile, die aussieht:
# TESTDATA.make_golden(template_text, 'test_html_rendering.html')Führen Sie dann den Test erneut aus (und vielleicht noch einmal), und dann können Sie Ihre Änderung der Testdateien zurückversetzen.
Um die visuellen Dramatiker (auch als End-to-End-Tests) durchzuführen, lautet der zu verwendende Befehl:
npm run pwtests Wenn es Fehler gibt, werden sie in der Konsole angezeigt. Wenn Sie eines der Screenshot-Bilder aktualisieren müssen, sehen Sie Unterschiede im Verzeichnis packages/playwright/test-results . Wenn sie korrekt aussehen, können Sie alle Bilder für alle Tests aktualisieren mit:
npm run pwtests-updateDie aktualisierten Bilder werden auch dem Screenshots -Verzeichnis hinzugefügt. Bilder, die nicht aktualisiert werden mussten, werden nicht als geändert angezeigt. Wenn Sie die Testdateinamen oder die Testmethodennamen oder die Bilddateinamen im Screenshot ändern, werden neue Dateien generiert und Sie müssen die alten Dateien manuell löschen. Sie könnten einfach alle Screenshots löschen und alle aktualisieren, aber das wird ziemlich lange dauern.
Sie können Bilder für nur eine Testdatei aktualisieren, indem Sie den Befehl --filename=some_pwtest.js zum pwtests-update -Befehl hinzufügen. Der Name some_pwtest.js muss kein vollständiger Weg sein.
Wenn die GitHub CI -Dramatiker -Aktion Fehler gemeldet wird, können Sie sich das Fehlerprotokoll ansehen. Wenn das Problem jedoch ein Unterschied in einigen Bildern ist, sollten Sie wahrscheinlich die Artefact .zip -Datei, die alle Unterschiede enthält, herunterladen.
Es gibt einige zusätzliche Informationen für Entwickler in Entwickler-Dokumentation.md.
Um die Funktionalität dieser Anwendung lokal zu testen, die mit Daten aus der API der Ursprungsversuche interagiert, muss ein API -Schlüssel erfasst werden. Führen Sie dazu den folgenden Befehl aus:
npm run dev-ot-keyHinweis: Nur Entwickler mit Zugriff auf das CR-Status-Staging-GCP-Projekt können diesen Befehl erfolgreich ausführen. Wenn Sie dies testen müssen und keinen Zugriff haben, öffnen Sie ein Problem.
Notizen
Wenn Sie einen Fehler erhalten, der No module named protobuf oder No module named six oder No module named enum erstellt hat, versuchen Sie es, sie lokal mit pip install six enum34 protobuf .
Achten Sie bei der Installation des GAE SDK darauf, die Version für Python 3 zu erhalten.
Wenn Sie den Server lokal ausführen und dann von Ihrem Terminialfenster getrennt sind, können die Jobs ausgeführt werden, was Sie daran hindert, den Server erneut zu starten. Verwenden Sie npm run stop-emulator; npm stop . Oder verwenden Sie ps aux | grep gunicorn und/oder ps aux | grep emulator , dann verwenden Sie den Befehl UNIX kill -9 um diese Jobs zu beenden.
Wenn Sie etwas mit Abhängigkeiten testen oder debuggen müssen, können Sie einen sauberen Start erhalten, indem Sie npm run clean-setup ausführen.
Gelegentlich erfordert die Google Cloud -CLI ein Update, was zu einem Fehler verursacht wird, wenn versucht wird, den Entwicklungsserver mit npm start auszuführen. Eine nicht verwandte Fehlermeldung Failed to connect to localhost port 15606 after 0 ms: Connection refused . Durch das Ausführen des gcloud components update wird nach Bedarf aktualisiert und dieses Problem behoben.
Chromestatus erhält derzeit die Liste der Blinkkomponenten aus der Datei hack_components.py .
Besuchen Sie http: // localhost: 7777/admin/blink/populate_blink, um die Liste der BLINK -Komponentenbesitzer anzuzeigen.
settings.py enthält eine Liste von Globalen zum Debuggen und Ausführen der Website lokal.
Wenn Sie nicht übereinstimmende lokale Änderungen haben, endet der Appengine -Versionsname mit -tainted . Es ist in Ordnung, bei der Inszenierung mit verdorbenen Versionen zu testen, aber alles sollte vor dem Inszenieren einer Version begangen (und somit nicht verdorben) begangen werden, die später zum Prodieren gedrängt werden kann.
Beachten Sie , dass Sie Admin-Berechtigungen für die cr-status-staging und cr-status -Cloud-Projekte haben müssen, um die Website bereitzustellen.
Führen Sie das NPM -Ziel aus:
npm run staging
Öffnen Sie die Google Developer -Konsole für die Staging -Site und wechseln Sie in die neue Version, indem Sie aus der Liste auswählen und auf Migrate -Verkehr klicken. Stellen Sie sicher, dass Sie dies sowohl für den "Standard" -Dienst als auch für den "Notifier" -Dienst tun.
Alternativ führen Sie npm run staging-rc , um denselben Code in eine Version mit dem Namen rc für "Release-Kandidat" hochzuladen. Dies ist die einzige Version, die Sie mit Google Sign-In unter https://rc-dot-cr-status-staging.appspot.com testen können.
Wenn manuelle Tests auf dem Staging -Server gut aussehen, wiederholen Sie dieselben Schritte, um sie für den Produkt zu bereitstellen:
npm run deploy
Öffnen Sie die Google Developer Console für die Produktionsseite
Die Produktionsseite sollte nur Versionen haben, die Versionen für die Inszenierung übereinstimmen.
Copyright (C) 2013-2022 Google Inc. Alle Rechte vorbehalten.
Apache2 Lizenz.