Auto: Valide estritamente a configuração do autorc antes de qualquer lançamento

Criado em 6 jan. 2019  ·  10Comentários  ·  Fonte: intuit/auto

Sua solicitação de recurso está relacionada a um problema?

Alguns de nós no Artsy estão trabalhando na migração de vários repositórios para usar a liberação automática. Em uma sessão em lote, de alguma forma consegui bagunçar a configuração e usei noReleaseLabels vez de skipReleaseLabels em vários dos projetos. Isso causou alguns lançamentos desnecessários.

Descreva a solução que você gostaria

Acho que a configuração deve ser rigorosamente validada. Se houver valores presentes que não fazem parte da configuração (ou seja, noReleaseLabels), o processo de liberação deve falhar. A configuração inválida provavelmente significa que alguém está passando por um momento ruim. Da mesma forma, se um objeto de configuração não corresponder a um tipo esperado, etc. Parece que há um início para um esquema json que poderia ser usado para esse propósito ( auto-rc.json ).

Descreva as alternativas que você considerou

Se você quiser uma abordagem mais leve, eu recomendo no mínimo ter um comando validate que verifica a validade da configuração.

enhancement hacktoberfest released

Comentários muito úteis

Eu sou tudo sobre essas duas coisas. Posso trabalhar nisso, mas vou ter que esperar até o fim de semana. Eu vou pegar leve esta noite, ha. Vou ver se consigo configurar a interface typescript para o processo json-schema. Não pense que vai ser muito difícil. A parte mais difícil é descobrir o que deve constar no esquema.

Todos 10 comentários

Jest tem um validador de configuração JSON - https://github.com/facebook/jest/tree/master/packages/jest-validate#jest -validate

Estou trabalhando na criação de um esquema via quicktype .

https://app.quicktype.io?share=vgnvzBMgaixe5c9qUCD2.

Na verdade, também gera código para validá-lo automaticamente ... https://app.quicktype.io?share=yxg2tubeMvnazWyklgkz. Podemos usar algo assim?

Provavelmente não deveria construir algo se requer que um humano acesse um site externo IMO, em Danger eu gero esquemas JSON de tipos TypeScript por meio de um módulo de nó e os automatizo em implantações, então nunca ficará fora de sincronia

eu gosto disso
Na terça-feira, 8 de janeiro de 2019 às 5h54, Orta [email protected] escreveu:

Provavelmente não deveria construir algo se requer um acesso humano a um
site externo IMO, em Perigo que eu gerar
https://github.com/danger/danger-js/blob/master/package.json#L60 JSON
esquemas
https://github.com/danger/danger-js/blob/master/source/danger-incoming-process-schema.json
de tipos TypeScript por meio de um módulo de nó e automatizá-los nas implantações, então
nunca vai sair de sincronia

-
Você está recebendo isto porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/intuit/auto-release/issues/143#issuecomment-452306127 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/ABIyBDiYG4uWFKH6IdjG862e1UPEQCr3ks5vBKMugaJpZM4ZyUU6
.

quicktype é um pacote npm, mas também possui uma interface web. Eu concordo, deve ser automatizado.

pode pegar uma interface TS e criar um esquema JSON? isso seria incrível

parece que seus links de tipo rápido fazem o que estou descrevendo. isto é tão legal! Fazer essa parte do nosso processo de lançamento seria muito legal.

Talvez pudéssemos até fazer um plugin para publicar como uma extensão VSCode

Eu sou tudo sobre essas duas coisas. Posso trabalhar nisso, mas vou ter que esperar até o fim de semana. Eu vou pegar leve esta noite, ha. Vou ver se consigo configurar a interface typescript para o processo json-schema. Não pense que vai ser muito difícil. A parte mais difícil é descobrir o que deve constar no esquema.


: rocket: O problema foi lançado em v9.15.0 : rocket:

Esta página foi útil?
0 / 5 - 0 avaliações