X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=doc%2Frelease_management.txt;h=e8cfc4c45bdb976904f4a328c58f5989471921dc;hb=8974129421f2b7c98495f8036e5f4d2d0ac7b738;hp=d6bda17b913dd080ffc71d327604ff0d208a2d96;hpb=9022ecda41297eefc607b19a9bb048a9db6569c4;p=kivitendo-erp.git diff --git a/doc/release_management.txt b/doc/release_management.txt index d6bda17b9..e8cfc4c45 100644 --- a/doc/release_management.txt +++ b/doc/release_management.txt @@ -20,15 +20,41 @@ als freundliche Checkliste zum ausdrucken und erweitern. 1. KONSISTENZ DES PROGRAMMS =========================== +* Testlauf t/test.sh + + - Im Moment sind 3 Fehler optimal (die sind noch nicht angegangen): + o bin/mozilla/ic.pl contains at least 130 html tags. + o bin/mozilla/ap.pl contains at least 183 html tags. + o bin/mozilla/admin.pl DOES NOT use proper system or exec calls + - Einige Tests setzen eine korrekt aufgesetzte Datenbank für tests voraus. + TODO: diese Tests korrekt skippen wenn keine DB gefunden wurde. + TODO: Dokumentieren wie der Releasemanager sich so eine DB baut, die + sollten vor einem Release zumindest durchlaufen. + TODO: Evtl eine Klasse von Releasetests einführen) + +* Testinstallation aus dem git mit neuer auth Datenbank. + + - Änderungen die die auth Systeme betreffen zerreissen gerne mal die initiale + Installation. + +* Testupgrade auf einer Vorversion. + + - Dito nur mit Upgradescripten. Fehlerhafte Abhängigkeiten können dazu + führen, dass Upgradescripte nicht in der richtigen Reihenfolge ausgeführt + werden, was bei inkrementellem Testen nicht auffällt. + * Freeze auf der Mailingliste ansagen. - Featurefreeze für beta - - Commitfreeze für finales Release + - Commitfreeze für finales Release (Erfahrungswerte: 1 Tag für die erste + Beta, 2-4h für jedes weitere Release, 1 Tag fürs finale Release) * Status Bugzilla - Aus dem Bugsprint sollten keine Bugs mit Target der neuen Version mehr - offen sein. + offen sein, ist aber unrealistisch. Die noch offenen Bugs müssen bewertet + werden. Kritische Bugs müssen behoben, weniger kritische evtl auf die + nächste Version verschoben werden. - Neue Bugs seit dem Bugsprint müssen bewertet, gegebenenfalls behoben werden. - Sollten noch schwere Probleme existieren, Release verschieben. @@ -50,6 +76,24 @@ als freundliche Checkliste zum ausdrucken und erweitern. o copy&paste in eine Datei o perl -pale '$_=" - Bugfix $F[0]: @F[1..$#F]"' oder awk/sed drüber + Das gleiche für trac: + o Individuelle Abfrage + + geändert zwischen und + + Status closed + + Lösung behobena + + Komponente ist Lx-Office ERP + o Spalten: nur Zusammenfassung + o sortieren nach Ticketnummer + o rest weiter ab copy&paste + + Achtung: trac hat im Moment noch Probleme, so dass Bugs zum teil mit nicht + existenten Lösungen geschlossen werden. Besser ist es, sich die Lösung als + eigene Spalte anzeigen zu lassen, die Lösungen zu filtern, die nicht + erwünscht sind, und den Rest zu formatieren (TODO: Script erweitern) + + Achtung: trac benutzt Datum 00:00:00 als obere Grenze, dass heisst, immer + einen Tag mehr angeben. + - Ausserdem einmal durch das git scrollen und sinnvolle grössere Änderungen ins changelog übertragen. Muss nur einmal gemacht werden, möglichst danach nur noch inkrementell. @@ -58,8 +102,9 @@ als freundliche Checkliste zum ausdrucken und erweitern. $ scripts/find-use.pl - Die Ausgabe zeigt alle "use *", "use parent qw()", require "" etc an, und - sucht nach Abhängigkeiten dadrin. Die Farbcodes bedeuten: + Die Ausgabe zeigt alle "use *", "use parent qw()" etc an, und + sucht nach Abhängigkeiten dadrin. Achtung: require wird im Moment nicht + erkannt. Die Farbcodes bedeuten: grün: Alles gut, das Modul ist entweder seit Ewigkeiten im perl core, oder ist in modules/* dabei. @@ -122,7 +167,6 @@ als freundliche Checkliste zum ausdrucken und erweitern. * Locales auf Vollständigkeit prüfen $ scripts/locales.pl de - $ scripts/locales.pl de_DE * SL::DB::Helper::ALL auf Vollständigkeit prüfen @@ -132,13 +176,21 @@ als freundliche Checkliste zum ausdrucken und erweitern. * VERSION updaten - Zu den Versionierungen: + Zu den Versionierungen vor 3.0.0: - Das Programm heißt Lx-Office (großes LO, mit Bindestrich dazwischen) - Das Paket heißt lx-office-erp (klein, plus "-erp") - Der Standardpfad ist lxoffice-erp- (fehlender Bindestrich) - Der git tag ist "release-" - - Das DB Ipgradescript ist "release_" + - Das DB Upgradescript ist "release_" + + Zu den Versionierungen ab 3.0.0: + + - Das Programm heißt kivitendo (alles klein) + - Das Paket heißt kivitendo + - Der Standardpfad ist kivitendo- + - Der git tag ist "release-" + - Das DB Upgradescript ist "release_" * Nur finales Release: Datenbankupgradescript "release_2_6_1" (mit aktueller Releasenummer) erstellen und alle Leafscripte als Abhängigkeit einsetzen. @@ -152,22 +204,14 @@ als freundliche Checkliste zum ausdrucken und erweitern. t/test.sh - - Im Moment sind 4 Fehler optimal (die sind noch nicht angegangen): - o bin/mozilla/ar.pl contains at least 190 html tags. - o bin/mozilla/ic.pl contains at least 130 html tags. - o bin/mozilla/ap.pl contains at least 183 html tags. - o bin/mozilla/admin.pl DOES NOT use proper system or exec calls - - Einige Tests setzen eine korrekt aufgesetzte Datenbank für tests voraus. - TODO: diese Tests korrekt skippen wenn keine DB gefunden wurde. - TODO: Dokumeniteren wie der Releasemanager sich so eine DB baut, die - sollten vor einem Release zumindest durchlaufen. - TODO: Evtl eine Klasse von Releasetests einführen) + Siehe oben für mögliche Ergebnisse. * Alle Änderungen einchecken. 2. RELEASE +========== * Annotated tag erstellen und pushen @@ -188,17 +232,22 @@ als freundliche Checkliste zum ausdrucken und erweitern. * Alles auf Sourceforge hochladen +* Auf Sourceforge den Standarddownloadlink setzen + * Releasemessages schreiben für folgende Ziele: - lx-office.org: deutsch, prosa, formell - - freshmeat.net: englisch, max 600 zeichen, technische stichpunkte aus dem changelog + - freecode.com: englisch, max 600 zeichen, technische stichpunkte aus dem changelog (ehemals freshmeat.net) - mailinglisten: deutsch, freitext, informell * Alle Releasemessages von mindestens einer Person Korrektur lesen lassen -* Webseite aktualisieren, Releasemessages auf freshmeat und Mailinglisten posten +* Webseite aktualisieren, Releasemessages auf freecode und Mailinglisten posten 3. POST RELEASE +=============== * Im Bugzilla die aktuelle Version ergänzen, damit dafür Bugs eingespielt werden können. + +* Nach einem Major Release alle Bugs die den Milestone hatten und nicht gefixt wurden zurücksetzen