Abnahmekriterien Firmware

Aus Freifunk München
Wechseln zu: Navigation, Suche

Um Änderungen an der Firmware nachvollziehen zu können und sicherzustellen, dass diese korrekt funktioniert bevor sie auf allen Autoupdate-Nodes automatisch ausgerollt wird, sind definierte Abnahmekriterien erforderlich.

Auf dieser Seite sollen Informationen und Ideen gesammelt werden um dann eine sinnvolle Auswahl festzulegen, die dann vor jedem Release getestet wird.


Build-Informationen[Bearbeiten]

Hier sollten die aktuelle stable/experimental Firmware Repos + binary images (Übersichtsseite) verlinkt sein.


stable images[Bearbeiten]

Source https://github.com/freifunkMUC/site-ffm/tree/stable

Binary https://ffmuc.net/firmware/

experimental images[Bearbeiten]

Source https://github.com/freifunkMUC/site-ffm/tree/experimental

Binary https://ffmuc.net/firmware/

Bauen[Bearbeiten]

siehe Readme files, nicht vergessen vor dem Bau den richtigen Branch auszuchecken z.B.:

git checkout origin/stable -b stable

ersten Bau mit:

   make V=s

durchführen um Fehler direkt mitzubekommen. Grade anfangs fehlen evtl. dependencies, wie z.B. libncurses-dev

Sammlung möglicher Kritierien/Bausteine[Bearbeiten]

Betrifft erstmal nur stable Builds, experimental würde ich als Vorstufe von stable sehen, also alles stable muss durch experimental Phase.

  • Review Git-Log (ist ziemlich übersichtlich)
  • Release Ankündigung 2 wochen vorher (wichtig, damit Leute Veto einlegen können bei wichtigen Events, o.ä.)
  • Release Ankündigung nochmal kurz vor dem Release (falls Vorbereitungen erforderlich sind)
  • Release Mail nach Durchführung des Releases
  • in allen Mails kurze Erklärung + Changelog
  • Firmware sollte 1 Monat lang auf mind. 20 Knoten gelaufen sein
  • Autoupdate mit Mesh-Szenario (Router nur per Mesh angebunden) testen
  • Lokal bauen und mit Jenkins-Build vergleichen (hier gibt es noch technische Hürden die geklärt werden müssen. Reproducible Builds ist generell ein schwieriges Thema (siehe debian reproducible Builds, bzw. die OpenWrt Versuche in die Richtung). Evtl. hiermit einzelne Files comparen https://code.google.com/p/firmware-mod-kit/), http://diffoscope.org/

Dependency Liste[Bearbeiten]

Wem muss man alles vertrauen, ist sicher grade im Moment nicht möglich das alles zu checken, aber wenns eine Liste gibt findet sich vielleicht mit der Zeit der ein oder andere Spezialist:

  • gluon (repo url)
  • usw.