Coroid trifft viele Entscheidungen während der Bearbeitung eines Auftrags: ob ein Anfrage überhaupt zu Arbeit wird, wie sie umgesetzt werden soll und ob das Ergebnis gut genug ist, um Ihnen präsentiert zu werden. Einige Entscheidungen bleiben stets in den Händen von Menschen – das Zusammenführen ist die offensichtlichste davon.
Entscheidungen, die Coroid trifft
- Ob eine Anfrage zu Arbeit wird. Qualifizierung Überprüfungen auf Duplikate, bereits behobene Probleme und Dinge, die nicht reproduzierbar sind. Bei Anfragen ohne menschliche Beteiligung entscheidet anschließend die Zulassung unter Ihrer Mandate ob die Arbeit jetzt, später oder gar nicht beginnen darf.
- Wie die Arbeit aufgebaut und überprüft wird. Der Plan, der Code, die Tests, die Qualitätsprüfungen, die QA und die Rezension werden bestanden. Siehe Wie Coroid seine eigene Arbeit überprüft.
- Was es bezüglich des Zusammenführens getan hätte. Coroid dokumentiert ein Urteil zu jeder von ihm überprüften pull request, handelt aber nicht danach. Siehe Wie Coroid sein eigenes Urteil überprüft.
Entscheidungen, die bei Menschen bleiben
| Entscheidung | Wer sie trifft |
|---|---|
| pull request in Ihren Branch zusammenführen | Eine Person in GitHub oder GitLab oder mit Freigeben & zusammenführen in Coroid |
| Veröffentlichen und ausrollen | Eine Person über Ihre Pipeline oder eine Veröffentlichung in Coroid |
| Definieren Sie, wofür die unbeaufsichtigte Arbeit dient und ihr Budget. | Ein Eigentümer oder Administrator durch die Veröffentlichung eines Mandats |
| Legen Sie fest, was bei einem Auftrag als erledigt gilt. | Die Person, die ihn angefordert hat, in seinem Ergebnisvertrag |
| Arbeit erstellen – Qualifizierung abgeschlossen | Eine berechtigte Person mit Trotzdem Arbeit erstellen und einem Grund |
Coroid führt niemals eigenständig ein Zusammenführen durch – es gibt auch keine Einstellung, die das ermöglicht. Siehe Zusammenführen.
Mandate ändern nicht, wer das Zusammenführen vornimmt.
Ein Mandat ermöglicht den Arbeitsbeginn ohne dass jemand für jeden einzelnen Schritt um Erlaubnis fragen muss. Es verhindert jedoch, dass das Ergebnis ohne menschliche Entscheidung übernommen wird. Arbeit, die unter einem Mandat zugelassen wird, durchläuft dieselbe Überprüfung wie jede andere Aufgabe und endet auf die gleiche Weise: als Pull-Request, der auf eine menschliche Freigabe wartet.
Ein Mandat sorgt außerdem für die Verantwortlichkeit bei unbeaufsichtigter Arbeit: Es legt fest, welche Projekte damit bearbeitet werden dürfen, wie viel Budget dabei ausgegeben werden darf und dokumentiert jede darüber getroffene Entscheidung.
Wie Coroid seine eigenen Urteile überprüft
Für jede von pull request über Coroid geprüfte Aufgabe sowie für jede fertige Merge-Aufgabe notiert Coroid, welche Entscheidung es getroffen hätte, wenn ihm die Merge-Berechtigung eingeräumt worden wäre:
- Würde genehmigen. Alles, was dafür benötigt wird, ist vorhanden und grün: Die Qualitätsprüfungen des neuesten Commits vom pull request, die Prüfung durch Coroid, die Überprüfungen Ihres Providers, ein sauberer Merge sowie für die Aufgabe die Testergebnisse und das Urteil des Reviewer.
- Würde blockieren. Mindestens einer dieser Blockaden liegt vor.
- Konnte nicht entscheiden. Etwas, das benötigt wurde, fehlte. Fehlende Nachweise zählen niemals als Genehmigung.
Das Urteil wird niemals im pull request veröffentlicht, ändert keine Aufgabe und führt zu keinem Merge. Es wird auch noch nicht in Coroid angezeigt.
Coroid vergleicht anschließend jedes Urteil mit dem, was nach dem Merge geschah:
- ein späterer pull request mit dem Titel Rückgängig machen … markiert den früheren Eintrag als zurückgesetzt;
- ein späterer pull request, der sagt Behebt #n markiert pull request n als schnell behoben;
- auf dem Überprüfungsbildschirm der Aufgabe, unter Was nach dem Merge geschah, kann jeder in der Organisation einen gemergten pull request als zurückgesetzt, schnell behoben oder Fehler gemeldet.
Eine Genehmigung für einen pull request, der später zurückgesetzt oder behoben wurde, gilt als falsche Genehmigung. In seinem eigenen Repository speist Coroid auch absichtlich fehlerhafte Kopien echter Änderungen ein, um zu prüfen, welche Fehler es erkennt.
Warum diese Aufzeichnung aufbewahren?
Damit die Frage „Kann man Coroid für diese Art von Änderung vertrauen?“ mit Belegen beantwortet werden kann – wie oft seine Genehmigungen falsch waren, für welche Änderungstypen und anhand wie vieler Beispiele – statt nur aufgrund von Vertrauen. Derzeit wirkt sich diese Aufzeichnung auf nichts aus. Sollte sich das jemals ändern, wäre das eine explizite Entscheidung des Eigentümers, und diese Aufzeichnung wäre die Grundlage für diese Entscheidung.