Skip to content

Teste de pull requests

alfsb edited this page Jun 25, 2023 · 6 revisions

Para realizar testes de pull requests enviados, um conjunto de scripts foi desenvolvido para facilitar esses procedimentos repetitivos. Alguns desses scripts também facilitam a vida de quem trabalha mais ativamente com a tradução.

Testes não precisam de credenciais, e para evitar problemas outros, é melhor realizar os testes em um checkout exclusivo para isso. Os comandos a seguir criam o repositório separado e também disponibilizam os scripts em um caminho mais acessível:

mkdir phpdoc-prtests
cd phpdoc-prtests

git clone git@github.com:php/doc-base.git   doc-base
git clone git@github.com:php/doc-en.git     en
git clone git@github.com:php/doc-pt_br.git  pt_BR

ln -s pt_BR/.tools/test/all.sh  all.sh
ln -s pt_BR/.tools/test/conf.sh conf.sh
ln -s pt_BR/.tools/test/diff.sh diff.sh
ln -s pt_BR/.tools/test/find.sh find.sh
ln -s pt_BR/.tools/test/gind.sh gind.sh
ln -s pt_BR/.tools/test/open.sh open.sh
ln -s pt_BR/.tools/test/push.sh push.sh
ln -s pt_BR/.tools/test/test.sh test.sh
ln -s pt_BR/.tools/test/trim.sh trim.sh
ln -s pt_BR/.tools/test/wipe.sh wipe.sh

Scripts de teste

Os scripts seguintes são primariamente utilizados para teste de pull requests:

  • test.sh: Baixa o patchset de um pull request, o aplica localmente e testa a integridade do XML.
  • wipe.sh: Remove quaisquer alterações locais, de maneira destrutiva, apagando sem perguntar.

O procedimento de teste de pull requests é resumido nos seguintes passos:

  1. wipe.sh, para remover quaisquer alterações no meio do caminho;
  2. test.sh number, para baixar e testar um pull request proposto.

Scripts de desenvolvimento

Os scripts seguintes são primariamente utilizados durante a tradução corriqueira do manual:

  • all.sh: Atualiza o checkout local, testa a integridade do XML, recria o revcheck.html local, e mostra quaisquer diferenças. Utilizar no início de um dia.

  • conf.sh: Atualiza o checkout local e testa a integridade do XML. Utilizar durante um processo de tradução longo, para manter sua cópia local compilando.

  • diff.sh: Mostra alterações em curso (apenas na tradução). Importante para revisar suas alterações antes de enviar correções. Nós nos importamos com espaços invisíveis.

  • find.sh: Realiza uma pesquisa textual nos diretórios de texto (ignora o doc-base/). Utilizar quando precisar encontrar um xml:id perdido ou uma palavra errada, no original ou na tradução.

  • gind.sh: Realiza uma pesquisa textual em todos os diretórios. Utilizar quando precisar encontrar xml:ids mesmo nos arquivos gerados automaticamente no processo de compilação.

  • open.sh: Informe um único nome de arquivo, e o script tentará abrir o arquivo original e traduzido, lado a lado, com os mesmos caminhos relativos. Um dos scripts que mais poupam tempo na vida do tradutor.

  • trim.sh: Normalizador de espaços e linhas. Na prática faz a sincronia de linhas em branco e espaços à esquerda, e elimina os espaços à direita no arquivo traduzido, utilizando o arquivo original como modelo.

  • wipe.sh: Elimina todas as alterações e commits locais dos repositórios locais. CUIDADO! Sai apagando tudo sem perguntar.

Clone this wiki locally