pyvec / naucse

A server for open course material
Other
2 stars 9 forks source link

Testování validity YAML souborů při buildu #17

Open frenzymadness opened 6 years ago

frenzymadness commented 6 years ago

Travis build 1173 na první pohled prošel, ale rozbil zobrazení kurzu, protože v info.yaml byly chybně pojmenované klíče. Chyba je vidět ve výstupu logu z arcy na konci buildu

Kouknul jsem na testy, ale nenašel jsem žádné nad reálnými daty.

Myslím si, že by bylo dobré build/deploy zastavit, pokud se v arce objeví chyby, aby se to potichu nerozbilo, i když se travis na první pohled tváří, že je vše v pořádku, protože testy funkcionality samotného naučse prošly bez problémů. Nejspíše to ale nepůjde hned, protože i následující build obsahuje v logu chyby s tímto nesouvisející, které by bylo třeba nejdříve opravit.

hroncok commented 6 years ago

Travis zde projde vždy, protože jeden fork nemůže rozbít celé naučse. Řešením je zapnout travis ve forku, kde by taková chyba IMHO vyvolala selhání buildu.

hroncok commented 6 years ago

Jdou proti sobě dva zájmy:

Je třeba najít vhodný kompromis.

frenzymadness commented 6 years ago

Nebo jen skipnout update rozbitého forku? Tedy že se ti v případě chyby neprojeví změny, ale alespoň neodstraniš stávající obsah a máš v klidu čas to opravit, aniž by ti při tom dýchali na krk uživatelé s rozečteným obsahem.

hroncok commented 6 years ago

Má to být (a nevím, jestli to dělá, co má), že při failnutí se zobrazí obsah z minulé verze a rámeček s varováním. Ale nepamatuju si přesně, víc ví určitě @mikicz

mikicz commented 6 years ago

Pokud je chyba v tom YAMLu tak zásadní, že nejde získat základní informace o kurzu (název, datumy začátku a konce), tak se celý ten kurz nepoužije, ani se nezobrazí v seznamu kurzů (to tady není ten případ, ve výpisu Travisu je seznam všech renderovaných kurzů a tam je případně napsané, že se ten kurz přeskakuje.

Pokud je chyba při renderování specifické stránky z kurzu, tak se tam vždy zobrazí rámeček a v případě že ten obsah existuje v kanonické verzi (takže jednotlivé materiály), tak se tam vyrenderuje obsah z kanonické verze.

Vykreslení předchozí verze jsem nakonec nedělal...