Auto: Valider strictement la configuration autorc avant toute version

Créé le 6 janv. 2019  ·  10Commentaires  ·  Source: intuit/auto

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.

enhancement hacktoberfest released

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.

Tous les 10 commentaires

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 ?

Je ne devrais probablement pas construire quelque chose si cela nécessite qu'un humain accède à un site Web externe IMO, en danger, schémas JSON à partir de types TypeScript via un module de nœud et les automatise lors des déploiements, alors il ne sera jamais désynchronisé

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:

Cette page vous a été utile?
0 / 5 - 0 notes