Feature/readme contributors update by pedrosancao · Pull Request #322 · BrasilAPI/BrasilAPI · GitHub
Skip to content

Feature/readme contributors update - #322

Closed
pedrosancao wants to merge 2 commits into
BrasilAPI:mainfrom
pedrosancao:feature/readme-contributors-update
Closed

pedrosancao wants to merge 2 commits into
BrasilAPI:mainfrom
pedrosancao:feature/readme-contributors-update

Conversation

@pedrosancao

Copy link
Copy Markdown
Contributor

Inspirado pela issue #302 e pelo trabalho do Lorhan na PR #314 realizei a automação da atualização de contribuidores usando o script já existente no projeto.

Nessa PR a criei um shell script para obter a tabela atualizada de pessoas que contribuíram, identificar os marcadores de inicio e fim e substituir a tabela existente pela nova. Com isso atualizei também o script no npm, que agora passa a ser executado com npm run contributors:update.

Configurei também um action do GitHub para automatizar o processo usando o script npm atualizado e a action Add & Commit.

O workflow está configurado para execução manual, pensei em colocar ao fazer commit na ramificação principal mas em dias em que vários PRs são aprovados seria executado várias vezes, poluindo o histórico. Dessa forma as pessoas com acesso podem iniciar a execução manualmente (artigo para saber mais):
workflow manual

No meu fork configurei a action na ramificação "readme-contributors-update-post-commit". O log da execução de teste pode ser visto aqui e o commit criado automaticamente foi o d1cb988.


Testando

Infelizmente só é possível testar actions do GitHub ao subir o arquivo yml na ramificação principal do repositório. Quem quiser ver o workflow em ação pode configurar em seu próprio fork com os comandos abaixo (executados na pasta local do fork):

git checkout master-bkp origin/master
git remote add pedrosancao https://github.com/pedrosancao/BrasilAPI.git
git fetch pedrosancao
git checkout pedrosancao/0307562
git push -f origin HEAD:master

Inicie a tarefa manualmente conforme a imagem acima.

Para restaurar seu fork para o estado anterior execute git push -f origin master-bkp:master && git checkout master

Replace the manual copy/paste with automatic update of readme.
@vercel

vercel Bot commented Jun 7, 2021 •

Copy link
Copy Markdown

@sonarqubecloud

sonarqubecloud Bot commented Jun 7, 2021

Copy link
Copy Markdown

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@@ -0,0 +1,31 @@
name: Update contributor on README

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Como está usando npm install as dependências de dev também serão instaladas, então acho interessante adicionar essa env para garantir que o husky não será instalado e fazer o pipeline demorar muito.

Suggested change
env:
HUSKY_SKIP_INSTALL: true

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eu entendi o ganho em fazer essa configuração e acho a sugestão muito válida, mas na documentação do Husky tem uma Breaking change dizendo que esse parâmetro foi removido, lá não consta em qual versão isso aconteceu 😞. Não fico muito confortável em adicionar essa configuração que de certa forma bloqueia a futura atualização do Husky.

A action está configurada para adicionar com git add apenas o README.md e pelo que entendi o Husky usa apenas os arquivos no stage do git para rodar o hook, dessa forma acredito que o impacto no husky no pipeline está na faixa de milissegundos e algo que não precisamos nos preocupar.

O que vocês acham?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Entendi... A versão que estamos usando é a 4.x, essa breaking change deve ser na 6.y

O pior é que eu precisei disso em outro projeto, só não lembro se demorava muito para o husky configurar os hooks do git ou se era na instalação mesmo do husky

@LorhanSohaky

Copy link
Copy Markdown
Member

@pedrosancao, achei muito massa!!! Fiquei curioso, seria possível fazer isso em js ou só com shell?

@pedrosancao

Copy link
Copy Markdown
Contributor Author

@pedrosancao, achei muito massa!!! Fiquei curioso, seria possível fazer isso em js ou só com shell?

Possivel sempre é e a questão é a complexidade. Escolhi fazer com shell porque a manipulação de textos com grep, head e tail é bem simples. As soluções que imagino com js provavelmente usaria expressões regulares e é uma complexidade que não gostaria de adicionar.

@murilohns

Copy link
Copy Markdown
Collaborator

@murilohns murilohns closed this Jul 7, 2022

This branch was successfully deployed

1 active deployment
Preview — 597b71c1 Deployed Jun 7, 2021 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants