Skip to content

Conversation

rffontenelle
Copy link
Collaborator

@rffontenelle rffontenelle commented Dec 19, 2019

Esta PR tem o intuito de simplificar e automatizar a execução de algumas tarefas para a equipe, permitindo o seguinte:

  • Verificar, a cada push, a sintaxe ReST, acusando erros quando a tradução tiver uma sintaxe incorreta.
  • Baixar tradução do Transifex e fazer commit com "make update"
  • Permitir compilar a documentação com apenas um "make build"
  • Permitir disponibilizar páginas web em http://localhost:8000 com "make serve"
  • Verificar erros de escrita com "make spell"
  • e mais.

Usando GitHub Actions

Para visualizar os "workflows" de Ghub Actions e seus estados, basta clicar na aba "Actions" ao lado de "Pull requests". Pelo Actions do meu fork pode-se ver uma lista de tarefas com seu resultado negativo ❌ caso a execução tenha retornado algum erro.

A configuração que fiz para o Actions e para o Makefile é compilar a documentação do Python considerando "warnings" como "erros", de forma que seja chamada a atenção de qualquer erro de sintaxe da tradução.

No erro, os mantenedores/desenvolvedores do repositório receberão notificação por e-mail.

Sobre os arquivos desta Pull Request

Makefile

Baseado no Makefile da equipe francesa de tradução do Python, o Makefile fornecido aqui foi adaptado ao fluxo de trabalho da equipe brasileira. Explico: enquanto o fluxo de trabalho da equipe francesa é pelo GitHub, a equipe brasileira utiliza o Transifex. Na prática significa que nosso Makefile pode considerar que o arquivo PO obtido do Transifex está atualizado com o modelo do último commit da documentação do Python. Já a equipe francesa, precisa saber com qual hash de commit do repositório cpython sua tradução está sincronizado, utilizando a variável CPYTHON_CURRENT_COMMIT.

O Makefile fornecido permite o seguinte:

  • make - exibe mensagens de ajuda
  • make build - prepara o ambiente e compila a documentação
  • make update - baixa traduções do Transifex, faz commit e push para o repositório brasileiro
  • make serve - após make build, fornece a documentação numa página
  • make todo - lista traduções incompletas, com estatísticas
  • make fuzzy - mostra fuzzy (1)
  • make spell - verifica a ortografia dos últimos arquivos enviados (2)
  • make wrap - ajusta/verifica quebra de linha (3)
  • make verifs - chama ambos spell e wrap
  • make progress - computa e mostra a porcentagem da documentação

(1) - tenho que testar o fuzzy melhor, não sei se está funcionando
(2) - spell talvez pudesse verificar todos os arquivos, em vez de apenas os últimos
(3) - não sei qual a necessidade desse wrap, tem verificar

Me parece que os mais úteis são make build e make update, pois um compila a documentação acusando erros de formatação e o outro atualiza e faz commit em um só comando.

.github/workflows/pythonpackage.yml

Arquivo de configuração para o GitHub Actions, esse arquivo está configurado para ser executado somente quando é feito commit de arquivos PO. Ele instala as dependências para seu funcionamento e executar alguns comandos, em especial o make build para falhar no caso de algum erro nos arquivos PO.

Se houver algum erro de sintaxe no arquivo PO, a execução falhará, indicando que algo tem que ser corrigido.

.gitignore

Adicionado para não exibir arquivos do processo de compilação.

@rffontenelle
Copy link
Collaborator Author

É possível que seja criado um issue automaticamente quando um workflow do Actions falha. Dessa forma, erros de sintaxe na documentação traduzida poderiam estar em issue, em vez de apenas num e-mail de notificação ao mantenedor/desenvolvedor do repositório.

Há interesse que eu implemente isso? Posso colocar junto nessa PR.

The Makefile was based on French language team's Makefile,
but adapted to Brazilian language team workflow.

It features 'make' or 'make help' to show commands available,
'make build' to build the documentation having warnings treated
as errors (good for spotting ReST syntax errors), 'make update'
for fetching translation from Transifex and then pushing, which
triggers the Actions workflow provided here.

The GitHub Actions workflow will run 'make build'. Any error will
be logged and made available to make it easier to fix.
@rffontenelle
Copy link
Collaborator Author

Apliquei um squash para reduzir aqueles 74 commits em um só.

@rffontenelle
Copy link
Collaborator Author

Apliquei diversas alterações, então. Vou fechar este MR e depois abro outro com as melhorias

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.

1 participant