Votre demande de fonctionnalité est liée à un problème ?
Quelques-uns d'entre nous chez Artsy travaillent sur la migration d'un grand nombre de dépôts pour utiliser la libération automatique. Dans une session par lots, j'ai réussi à gâcher la configuration et à utiliser noReleaseLabels
au lieu de skipReleaseLabels
sur plusieurs des projets. Cela a causé des versions inutiles.
Décrivez la solution que vous souhaitez
Je pense que la config doit être strictement validée. S'il y a des valeurs présentes qui ne font pas partie de la configuration (c'est-à-dire noReleaseLabels), le processus de publication devrait échouer. Une configuration non valide signifie probablement que quelqu'un est dans une mauvaise passe. De même, si un objet de configuration ne correspond pas à un type attendu, etc. Il semble qu'il y ait un début de schéma json qui pourrait être utilisé à cette fin ( auto-rc.json ).
Décrivez les alternatives que vous avez envisagées
Si vous souhaitez adopter une approche plus légère, je vous recommanderais au moins d'avoir une commande validate
qui vérifie la validité de la configuration.
Jest a un validateur de configuration JSON - https://github.com/facebook/jest/tree/master/packages/jest-validate#jest -validate
Je travaille sur la création d'un schéma via quicktype .
https://app.quicktype.io?share=vgnvzBMgaixe5c9qUCD2.
Il génère également du code pour le valider automatiquement... https://app.quicktype.io?share=yxg2tubeMvnazWyklgkz. On pourrait utiliser quelque chose comme ça ?
J'aime ça
Le mardi 8 janvier 2019 à 5 h 54, Orta [email protected] a écrit :
Ne devrait probablement pas construire quelque chose si cela nécessite qu'un humain accède à un
site externe IMO, en danger je génère
https://github.com/danger/danger-js/blob/master/package.json#L60 JSON
schémas
https://github.com/danger/danger-js/blob/master/source/danger-incoming-process-schema.json
à partir de types TypeScript via un module de nœud et les automatiser lors des déploiements, puis
il ne se désynchronisera jamais-
Vous recevez ceci parce que vous êtes abonné à ce fil.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/intuit/auto-release/issues/143#issuecomment-452306127 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/ABIyBDiYG4uWFKH6IdjG862e1UPEQCr3ks5vBKMugaJpZM4ZyUU6
.
quicktype est un package npm, il possède également une interface Web. Je suis d'accord, il devrait être automatisé.
peut-il prendre une interface TS et créer un schéma JSON ? ce serait génial
on dirait que vos liens quicktype font ce que je décris. ce est tellement cool! Faire de cette partie de notre processus de sortie serait plutôt cool.
Peut-être pourrions-nous même créer un plugin pour publier en tant qu'extension VSCode
Je suis tout à propos de ces deux choses. Je peux travailler dessus, mais il faudra attendre le week-end. Je vais y aller doucement ce soir, ha. Je vais voir si je peux configurer l'interface dactylographiée pour le processus json-schema. Ne pense pas que ce sera trop dur. La partie la plus difficile est vraiment de déterminer ce qui doit aller dans le schéma.
:rocket: Le numéro est sorti en v9.15.0
:rocket:
Commentaire le plus utile
Je suis tout à propos de ces deux choses. Je peux travailler dessus, mais il faudra attendre le week-end. Je vais y aller doucement ce soir, ha. Je vais voir si je peux configurer l'interface dactylographiée pour le processus json-schema. Ne pense pas que ce sera trop dur. La partie la plus difficile est vraiment de déterminer ce qui doit aller dans le schéma.