Bezieht sich Ihre Funktionsanfrage auf ein Problem?
Einige von uns bei Artsy arbeiten daran, viele Repos zu migrieren, um die automatische Freigabe zu verwenden. In einer Batch-Sitzung habe ich es irgendwie geschafft, die Konfiguration durcheinander zu bringen und bei mehreren Projekten noReleaseLabels
anstelle von skipReleaseLabels
zu verwenden. Dies führte zu einigen unnötigen Veröffentlichungen.
Beschreiben Sie die gewünschte Lösung
Ich denke, die Konfiguration sollte streng validiert werden. Wenn Werte vorhanden sind, die nicht Teil der Konfiguration sind (zB noReleaseLabels), sollte der Freigabeprozess fehlschlagen. Eine ungültige Konfiguration bedeutet wahrscheinlich, dass jemand eine schlechte Zeit hat. Ebenso, wenn ein Konfigurationsobjekt nicht mit einem erwarteten Typ übereinstimmt usw. Es scheint, als gäbe es einen Anfang für ein Json-Schema, das für diesen Zweck verwendet werden könnte ( auto-rc.json ).
Beschreiben Sie Alternativen, die Sie in Betracht gezogen haben
Wenn Sie einen einfacheren Ansatz wählen möchten, würde ich zumindest einen validate
Befehl empfehlen, der die Gültigkeit der Konfiguration überprüft.
Jest hat einen JSON-Konfigurationsvalidator - https://github.com/facebook/jest/tree/master/packages/jest-validate#jest -validate
Ich arbeite daran, ein Schema über Quicktype zu erstellen .
https://app.quicktype.io?share=vgnvzBMgaixe5c9qUCD2.
Es generiert tatsächlich auch Code, um es automatisch zu validieren ... https://app.quicktype.io?share=yxg2tubeMvnazWyklgkz. Könnten wir sowas gebrauchen?
Sollte wahrscheinlich nichts bauen, wenn ein Mensch auf eine externe Website zugreift IMO, in Gefahr generiere ich JSON- Schemas aus TypeScript-Typen über ein Node-Modul und automatisiere sie bei Deployments, dann wird es nie aus der Synchronisierung geraten
Ich mag es
Am Dienstag, 8. Januar 2019 um 5:54 Uhr schrieb Orta [email protected] :
Sollte wahrscheinlich nicht etwas bauen, wenn ein Mensch darauf zugreifen muss
externe Website IMO, in Gefahr erzeuge ich
https://github.com/danger/danger-js/blob/master/package.json#L60 JSON
Schemata
https://github.com/danger/danger-js/blob/master/source/danger-incoming-process-schema.json
von TypeScript-Typen über ein Node-Modul und automatisieren Sie sie bei Bereitstellungen, dann
Es wird nie aus der Synchronisierung geraten—
Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/intuit/auto-release/issues/143#issuecomment-452306127 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/ABIyBDiYG4uWFKH6IdjG862e1UPEQCr3ks5vBKMugaJpZM4ZyUU6
.
quicktype ist ein npm-Paket, es hat auch nur eine Weboberfläche. Ich stimme zu, es sollte automatisiert werden.
Kann es eine TS-Schnittstelle nehmen und ein JSON-Schema erstellen? das wäre super
sieht aus wie Ihre Quicktype-Links tun, was ich beschreibe. das ist so cool! Es wäre ziemlich cool, diesen Teil unseres Veröffentlichungsprozesses zu machen.
Vielleicht könnten wir sogar ein Plugin erstellen, um als VSCode-Erweiterung zu veröffentlichen
Bei mir dreht sich alles um beides. Daran kann ich arbeiten, muss aber bis zum Wochenende warten. Ich werde es heute Abend ruhig angehen lassen, ha. Ich werde sehen, ob ich die Typescript-Schnittstelle für den Json-Schema-Prozess einrichten kann. Denke nicht, dass es zu schwer wird. Der schwierigste Teil ist wirklich nur herauszufinden, was in das Schema passen soll.
:rocket: Ausgabe wurde in v9.15.0
:rocket:
Hilfreichster Kommentar
Bei mir dreht sich alles um beides. Daran kann ich arbeiten, muss aber bis zum Wochenende warten. Ich werde es heute Abend ruhig angehen lassen, ha. Ich werde sehen, ob ich die Typescript-Schnittstelle für den Json-Schema-Prozess einrichten kann. Denke nicht, dass es zu schwer wird. Der schwierigste Teil ist wirklich nur herauszufinden, was in das Schema passen soll.