Repository navigation
Feature/readme contributors update - #322
pedrosancao wants to merge 2 commits into
Conversation
Replace the manual copy/paste with automatic update of readme.
|
Kudos, SonarCloud Quality Gate passed!
|
| @@ -0,0 +1,31 @@ | |||
| name: Update contributor on README | |||
|
|
|||
There was a problem hiding this comment.
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.
| env: | |
| HUSKY_SKIP_INSTALL: true |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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
|
@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 |

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 scriptpara 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 comnpm 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):

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):
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