Enviando conteúdo
Para contribuir com novos conteúdos ou melhorar a documentação existente, submeta um pull request (PR):
- Se sua alteração for pequena ou você não estiver familiarizado com o Git, veja Usando o GitHub para aprender como editar uma página.
- Caso contrário, consulte Trabalhando localmente para aprender como fazer alterações no seu próprio ambiente de desenvolvimento local.
Todos os contribuidores são obrigados a assinar um Contrato de Licença de Contribuidor (CLA) antes que as alterações possam ser revisadas e mescladas.
Defina o status do seu pull request como Rascunho (Draft) para informar aos mantenedores que o conteúdo ainda não está pronto para revisão. Os mantenedores ainda podem comentar ou fazer revisões de alto nível, mas não revisarão o conteúdo completamente até que você remova o status de rascunho.
A figura a seguir ilustra como contribuir com nova documentação.
flowchart LR subgraph first[Como contribuir] direction TB T[ ] -.- B[Fazer cópia _fork_ do repositório no GitHub] --- C[Escrever documentação em markdown<br>e construir o site com Hugo] C --- D[Enviar o código-fonte para o _fork_] D --- E[Abrir um _pull request_] E --- F[Assinar o CNCF CLA] end classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class A,B,C,D,E,F,G,H grey class S,T spacewhite class first,second white
Figura 1. Contribuindo com novo conteúdo.
Usando o GitHub
Editar e enviar alterações pelo navegador
Se você tem menos experiência com fluxos de trabalho do Git, aqui está um método mais fácil de preparar e abrir um novo pull request (PR). A Figura 2 descreve os passos, e os detalhes seguem abaixo.
flowchart LR A([fa:fa-user Novo<br>Contribuidor]) --- id1[(open-telemetry/opentelemetry.io<br>GitHub)] subgraph tasks[Alterações usando o GitHub] direction TB 0[ ] -.- 1[1\. Editar esta página] --> 2[2\. Usar o editor de markdown<br>do GitHub para fazer alterações] 2 --> 3[3\. Preencher o formulário Propor alteração de arquivo] end subgraph tasks2[ ] direction TB 4[4\. Selecionar Propor alteração de arquivo] --> 5[5\. Selecionar Criar pull request] --> 6[6\. Preencher Abrir um pull request] 6 --> 7[7\. Selecionar Criar pull request] end id1 --> tasks --> tasks2 classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef k8s fill:#326ce5,stroke:#fff,stroke-width:1px,color:#fff; classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class A,1,2,3,4,5,6,7 grey class 0 spacewhite class tasks,tasks2 white class id1 k8s
Figura 2. Etapas para abrir um PR usando o GitHub.
Na página onde você vê o problema, selecione a opção Editar esta página no painel de navegação à direita.
Se você não for membro do projeto, o GitHub oferece a opção de criar um fork do repositório. Selecione Fazer fork deste repositório.
Faça suas alterações no editor do GitHub.
Preencha o formulário Propor alteração de arquivo.
Selecione Propor alteração de arquivo.
Selecione Criar pull request.
A tela Abrir um pull request aparece. Sua descrição ajuda os revisores a entenderem sua alteração.
Selecione Criar pull request.
Antes de mesclar um pull request, os membros da comunidade OpenTelemetry revisam e aprovam.
Se um revisor pedir para você fazer alterações:
- Vá para a aba Arquivos alterados.
- Selecione o ícone de lápis (editar) em qualquer arquivo alterado pelo pull request.
- Faça as alterações solicitadas. Se houver uma sugestão de código, aplique-a.
- Commit as alterações.
Quando sua revisão estiver completa, um revisor mescla seu PR e suas alterações ficam disponíveis alguns minutos depois.
Corrigindo falhas na verificação do PR
Depois de enviar um PR, o GitHub executa algumas verificações de compilação. Certas falhas de verificação, como problemas de formatação, podem ser corrigidas automaticamente.
Adicione o seguinte comentário ao seu PR:
/fix:all
Isso fará com que o bot OpenTelemetry tente corrigir os problemas de compilação. Ou você pode emitir um dos seguintes comandos de correção para resolver uma falha específica:
fix:dict
fix:expired
fix:filenames
fix:format
fix:htmltest-config
fix:i18n
fix:markdown
fix:refcache
fix:submodule
fix:text
Você também pode executar os comandos fix
localmente. Para a lista completa de
comandos de correção, execute npm run -s '_list:fix:*'
.
Trabalhando localmente
Se você tem mais experiência com Git, ou se suas alterações são maiores do que algumas linhas, trabalhe a partir de um fork local.
Certifique-se de que você tenha git
instalado no seu
computador. Você também pode usar uma interface de usuário para o Git.
A Figura 3 mostra os passos a seguir quando você trabalha a partir de um fork local. Os detalhes de cada etapa seguem abaixo.
flowchart LR 1[Faça o _fork_ do repositório<br>open-telemetry/opentelemetry] --> 2[Crie um clone<br>e configure a branch remota] subgraph changes[Suas alterações] direction TB S[ ] -.- 3[Crie uma branch<br>exemplo: minha_nova_branch] --> 3a[Faça alterações usando<br>um editor de texto] --> 4["Visualize suas alterações<br>localmente usando Hugo<br>(localhost:1313)"] end subgraph changes2[_Commit_ / Push] direction TB T[ ] -.- 5[_Commit_ suas alterações] --> 6[Envie o _commit_ para<br>origin/minha_nova_branch] end 2 --> changes --> changes2 classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef k8s fill:#326ce5,stroke:#fff,stroke-width:1px,color:#fff; classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class 1,2,3,3a,4,5,6 grey class S,T spacewhite class changes,changes2 white
_Figura 3. Trabalhando a partir de um fork local para fazer suas alterações._
Faça o fork do repositório
- Navegue até o repositório
opentelemetry.io
. - Selecione Fork.
Clone e defina o repositório de origem (upstream)
Em uma janela de terminal, clone seu fork e instale as dependências:
git clone git@github.com:<seu_nome_de_usuario_no_github>/opentelemetry.io.git cd opentelemetry.io npm install
Defina o repositório
open-telemetry/opentelemetry.io
como o remotoupstream
:git remote add upstream https://github.com/open-telemetry/opentelemetry.io.git
Confirme seus repositórios
origin
eupstream
:git remote -v
A saída é semelhante a:
origin git@github.com:<seu_nome_de_usuario_no_github>/opentelemetry.io.git (fetch) origin git@github.com:<seu_nome_de_usuario_no_github>/opentelemetry.io.git (push) upstream https://github.com/open-telemetry/opentelemetry.io.git (fetch) upstream https://github.com/open-telemetry/opentelemetry.io.git (push)
Obtenha commits do
origin/main
do seu fork eupstream/main
do repositórioopen-telemetry/opentelemetry.io
:git fetch origin git fetch upstream
Isso garante que seu repositório local esteja atualizado antes de você começar a fazer alterações. Envie alterações do upstream para o origin regularmente para manter seu fork sincronizado com o upstream.
Crie uma branch (ramificação)
Crie uma nova branch. Este exemplo assume que a branch base é
upstream/main
:git checkout -b <minha_nova_branch> upstream/main
Faça suas alterações usando um editor de código ou texto.
A qualquer momento, use o comando git status
para ver quais arquivos você
alterou.
Commit suas alterações
Quando você estiver pronto para enviar um pull request, confirme suas alterações.
No seu repositório local, verifique quais arquivos você precisa confirmar:
git status
A saída é semelhante a:
On branch <minha_nova_branch> Your branch is up to date with 'origin/<minha_nova_branch>'. Changes not staged for _commit_: (use "git add <file>..." to update what will be _committed_) (use "git checkout -- <file>..." to discard changes in working directory) modified: content/en/docs/file-you-are-editing.md no changes added to _commit_ (use "git add" and/or "git commit -a")
Adicione os arquivos listados em Alterações não preparadas para commit (Changes not staged for commit) ao commit:
git add <nome_do_seu_arquivo>
Repita isso para cada arquivo.
Depois de adicionar todos os arquivos, crie um commit:
git commit -m "Sua mensagem de _commit_"
Envie sua branch local e seu novo commit para seu fork remoto:
git push origin <minha_nova_branch>
Assim que as alterações forem enviadas, o GitHub avisará que você pode criar um PR.
Abre um novo PR
A Figura 4 mostra os passos para abrir um PR do seu fork para opentelemetry.io.
flowchart LR subgraph first[ ] direction TB 1[1\. Vá para o repositório opentelemetry.io] --> 2[2\. Selecione Novo Pull Request] 2 --> 3[3\. Selecione comparar entre _forks_] 3 --> 4[4\. Selecione seu _fork_ no<br>menu suspenso do repositório de origem] end subgraph second [ ] direction TB 5[5\. Selecione sua branch no<br>menu suspenso de comparação] --> 6[6\. Selecione Criar Pull Request] 6 --> 7[7\. Adicione uma descrição<br>ao seu PR] 7 --> 8[8\. Selecione Criar pull request] end first --> second classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold class 1,2,3,4,5,6,7,8 grey class first,second white
Figura 4. Etapas para abrir um PR do seu fork para opentelemetry.io.
Em um navegador da web, vá para o repositório
opentelemetry.io
.Selecione Novo Pull Request.
Selecione comparar entre forks.
No menu suspenso repositório de origem, selecione seu fork.
No menu suspenso comparar, selecione sua branch.
Selecione Criar Pull Request.
Adicione uma descrição para o seu pull request:
- Título (50 caracteres ou menos): Resuma a intenção da alteração.
- Descrição: Descreva a alteração em mais detalhes.
- Se houver uma issue relacionada no GitHub, inclua
Fixes #12345
ouCloses #12345
na descrição para que a automação do GitHub feche a issue mencionada após o merge do PR. Se houver outros PRs relacionados, vincule-os também. - Se você quiser aconselhamento sobre algo específico, inclua na descrição quaisquer perguntas que você gostaria que os revisores levassem em conta durante a revisão.
- Se houver uma issue relacionada no GitHub, inclua
Selecione o botão Criar pull request.
Seu pull request está disponível em Pull requests.
Após a abertura de um PR, o GitHub executa testes automatizados e tenta implantar uma prévia usando Netlify.
- Se a compilação do Netlify falhar, selecione Detalhes (Details) para mais informações.
- Se a compilação do Netlify for bem-sucedida, selecione Detalhes para abrir uma versão do site OpenTelemetry com suas alterações aplicadas. É assim que os revisores verificam suas alterações.
Outras verificações também podem falhar. Veja a lista de todas as verificações de PR.
Corrija problemas
Antes de enviar uma alteração para o repositório, execute o seguinte comando e (i) resolva quaisquer problemas relatados, (ii) commit quaisquer arquivos alterados pelo script:
npm run test-and-fix
Para testar e corrigir separadamente todos os problemas com seus arquivos, execute:
npm run test # Verifica, mas não atualiza nenhum arquivo
npm run fix:all # Pode atualizar arquivos
Para listar os scripts NPM disponíveis, execute npm run
. Veja
verificações de PR para mais informações sobre verificações de
pull request e como corrigir erros automaticamente.
Visualize suas alterações
Visualize suas alterações localmente antes de enviá-las ou abrir um pull request. Uma prévia permite que você detecte erros de compilação ou problemas de formatação do Markdown.
Para construir e disponibilizar o site localmente com o Hugo, execute o seguinte comando:
npm run serve
Navegue até http://localhost:1313 em seu navegador da web para ver a prévia local. O Hugo monitora as alterações e reconstrói o site conforme necessário.
Para parar a instância local do Hugo, volte ao terminal e digite Ctrl+C
, ou
feche a janela do terminal.
Implantações de site e prévias de PR
Se você enviar um PR, o Netlify criará uma prévia de implantação para que você possa revisar suas alterações. Assim que ocorrer o merge do seu PR, o Netlify implanta o site atualizado no servidor de produção.
Nota: As prévias de PR incluem páginas de rascunho, mas as compilações de produção não.
Para ver logs de implantação e mais, visite o dashboard do projeto - login no Netlify é necessário.
Diretrizes de PR
Antes que um PR seja mesclado, às vezes são necessárias algumas iterações de revisão e edição. Para nos ajudar e a si mesmo a tornar esse processo o mais fácil possível, pedimos que você adira ao seguinte:
- Se o seu PR não for uma correção rápida, trabalhe a partir de um fork: Clique no botão Fork na parte superior do repositório e clone o fork localmente. Quando estiver pronto, envie um PR para o repositório upstream.
- Não trabalhe a partir da branch
main
do seu fork, mas crie uma branch específica para o PR. - Certifique-se de que os mantenedores estão autorizados a aplicar alterações ao seu pull request.
Alterações dos revisores
Às vezes, os revisores fazem commits no seu pull request. Antes de fazer qualquer outra alteração, obtenha esses commits.
Obtenha commits do seu fork remoto e faça o rebase em sua branch de trabalho:
git fetch origin git rebase origin/<seu-nome-da-branch>
Após o rebase, execute um force-push contendo as novas alterações para seu fork:
git push --force-with-lease origin <seu-nome-da-branch>
Você também pode resolver conflitos de merge (mesclar) pela interface do GitHub.
Conflitos de merge e rebase
Se outro colaborador fizer commits no mesmo arquivo em outro PR, isso pode criar um conflito de merge. Você deve resolver todos os conflitos de merge em seu PR.
Atualize seu fork e faça rebase em sua branch local:
git fetch origin git rebase origin/<seu-nome-da-branch>
Em seguida, execute um force-push contendo as alterações para seu fork:
git push --force-with-lease origin <seu-nome-da-branch>
Obtenha alterações do
upstream/main
do repositórioopen-telemetry/opentelemetry.io
e faça rebase de sua branch:git fetch upstream git rebase upstream/main
Inspecione os resultados do rebase:
git status
Isso resulta em vários arquivos marcados como conflitantes.
Abra cada arquivo em conflito e procure os marcadores de conflito:
>>>
,<<<
, e===
. Resolva o conflito e exclua o marcador de conflito.Para mais informações, veja Como os conflitos são apresentados.
Adicione os arquivos ao conjunto de alterações:
git add <nome_do_arquivo>
Continue o rebase:
git rebase --continue
Repita as etapas 2 a 5 conforme necessário.
Após aplicar todos os commits, o comando
git status
mostra que o rebase está completo.Execute um force-push da branch para seu fork:
git push --force-with-lease origin <seu-nome-da-branch>
O pull request não mostra mais conflitos.
Requisitos de merge
O merge dos pull requests ocorrem quando são cumpridos os seguintes critérios:
- Todas as revisões por aprovadores, mantenedores, membros do comitê técnico ou especialistas no assunto têm o status “Aprovado”.
- Nenhuma conversa não resolvida.
- Aprovado por pelo menos um aprovador.
- Sem falhas nas verificações de PR.
- A branch do PR está atualizada com a branch base.
- As alterações na página do doc não abrangem localidades.
Importante
Não se preocupe muito com as falhas nas verificações de PR. Os membros da comunidade ajudarão você a corrigi-las, fornecendo instruções sobre como corrigi-las ou corrigindo-as em seu nome.
Feedback
Was this page helpful?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!