@moblybr/tools-doc-validator
v1.1.0
Published
Useful to parse and validate doc configuration in a pipeline (CI/CD) or CLI
Downloads
7
Keywords
Readme
@mobly/tools/doc-validator
Este pacote valida uma configuração obrigatória nos serviços Mobly, referentes à documentação e descrição dos serviços.
Requerimentos:
- Variáveis de ambiente no Bitbucket:
- CLIENT_ID
- CLIENT_SECRET
Estas variáveis servirão para efetuar commit e push no repositório que centraliza as documentações, explicado mais abaixo em "Configuração do Pipeline".
- Arquivo de configuração (vide "Configuração do Pacote")
Uso:
npx @mobly/tools-doc-validator
Argumentos da CLI:
-c, --config [Required, default: null]
Path do arquivo de configuração
Configuração do Pacote:
Para efetuar a configuração do pacote, é obrigatório ter no repositório um arquivo .json
ou .yml
conforme os exemplos abaixo:
Note que alguns campos básicos são obrigatórios e o opcionais são os presentes em additionalInfo
. Todos os campos nos exemplos são suportados e campos adicionais serão ignorados.
collectCoverage:
O uso do campo collectCoverage em projectDetails depende de duas configurações:
Adicionar o argumento
--collectCoverage
na comando de teste do jest;Caso não tenha em sua configuração do jest no arquivo
package.json
, adicione:"coverageReporters": [ "json-summary" ]
Com isso será gerada uma pasta coverage
na raiz do projeto e dentro dela deverá estar o arquivo coverage-summary.json
.
Configuração do Pipeline:
Este pacote é utilizado somente em um ambiente de CI/CD do bitbucket atualmente e é necessário efetuar algumas configurações no arquivo bitbucket-pipelines.yml
para rodar o upload da documentação.
Adicione esse passo no pipeline desejado: (não altere nada!)
- step:
name: Validate documentation
caches:
- node
script:
- npx @moblybr/tools-doc-validator -c="./documentation-config.json"
- apt-get update && apt-get install -y curl jq
- >
export access_token=$(curl -s -X POST -u "${CLIENT_ID}:${CLIENT_SECRET}" \
https://bitbucket.org/site/oauth2/access_token \
-d grant_type=client_credentials -d scopes="repository"| jq --raw-output '.access_token')
- mkdir doc-creator && cd doc-creator
- git remote set-url origin "https://x-token-auth:${access_token}@bitbucket.org/mobly/mobly-tools-doc-creator"
- git clone https://x-token-auth:${access_token}@bitbucket.org/mobly/mobly-tools-doc-creator
- cd ./mobly-tools-doc-creator/content
- mkdir -p product-service && cd product-service
- cp ../../../../_index.md .
- git add .
- git config --global user.email "[email protected]"
- git config --global user.name "Mobly Bot"
- git commit -m "Added documentation from Product Service"
- git push
condition:
changesets:
includePaths:
- "documentation-config.json"