Odcinek 14: Zhaoyang Li na kanale MTV i Eric Aleshire w TOK (październik 2020 r.)
Poprzednie odcinki
Chcesz wykryć regresje w przypadku nowej funkcji Chrome? Dodaj swoje testy do kaskady (infrastruktury ciągłej kompilacji i testowania w Chrome).
W kaskadzie Chrome jest wiele kreatorów, które przeprowadzają testy na różnych platformach. Z tego artykułu dowiesz się, jak dodać pakiet testowy do istniejącego kreatora. Zanim przejdziesz dalej, odpowiedz na te pytania:
Czy nowe testy powinny zostać wdrożone w zupełnie nowym pakiecie narzędzi, czy tylko w dotychczasowym?
- Testy są uporządkowane w pakietach testów według odległości od lokalizacji źródłowej i motywu. Jeśli nowe testy nie pasują do żadnego pakietu, prawdopodobnie potrzebujesz nowego.
Czy testy powinny być przeprowadzane w publicznym konstruktorze czy we wewnętrznym konstruktorze?
- Jeśli kod znajduje się w wewnętrznym repozytorium lub testy obejmują poufne dane, użyj wewnętrznego kreatora.
Czy testy powinny być przeprowadzane w FYI CI, głównej CI czy w kolejce zatwierdzenia?
- FYI CI wymaga samodzielnego monitorowania i służy do ulepszania testów lub eksperymentów.
- Główne testy CI są regularnie monitorowane przez szeryfów.
- CQ blokuje przesyłanie listy zmian w przypadku niepowodzenia, ale zajmuje więcej zasobów infrastruktury. Nowy pakiet powinien zawsze wychodzić z CI, zanim awansuje na CQ.
- Jeśli nie masz pewności, czy nie masz pewności, skontaktuj się z zespołem EngProd zajmującym się Twoją platformą.
Mam już pakiet testowy uruchomiony w CI. Jak mogę dodać go do CQ? / A jeśli potrzebuję nowego budowniczego?
- Zgłoś błąd w infrastrukturze> Klient> komponent Chrome, aby zespół usługi
chrome-browser-infra@
mógł rozpocząć weryfikację i pomóc Ci z konfiguracją.
Jak dodać pakiet testowy do istniejącego kreatora
Aby dodać pakiet testowy do istniejącego kreatora, musisz skonfigurować w //src/testing/buildbot/
kilka plików:
- Utwórz klucz w
gn_isolate_map.pyl
dla nowego pakietu testów z etykietą docelową i informacjami o typie. Dodaj ten klucz do grupy testowej w
test_suites.pyl
. Mapowanie z nazwy konstruktora na grupy testowe znajdziesz w kreatorzewaterfalls.pyl
.'all_simulator_tests': { 'previously_existing_test_suite': {}, 'exciting_new_feature_test_suite': {}, },
Więcej możliwości dostrajania.
mixins.pyl
zawiera argumenty, które można zastosować do grupy testów na różnych poziomach grupy.variants.pyl
ułatwia uruchomienie pakietu w wielu instancjach z różnymi argumentami.
Ponownie wygeneruj pliki konfiguracji, uruchamiając
generate_buildbot_json.py
.
Następnie wystarczy tylko sprawdzić zmiany w konfiguracji. Kreatory uruchamiające ten pakiet automatycznie wyłapią nowe testy, a wyniki zaczną przesyłać się do interfejsu internetowego kreatora w kaskadzie. Zawierają też mnóstwo danych debugowania na wypadek awarii.