Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste guia de início rápido, você aprenderá a criar um fluxo de trabalho do GitHub para testar seu código-fonte em .NET. O teste automático do código .NET no GitHub é chamado de CI (integração contínua). Nele, as solicitações de pull ou as alterações no código disparam fluxos de trabalho para exercício. Além de compilar o código-fonte, o teste garante que o código-fonte compilado funcione como o autor pretendia. Na maioria das vezes, os testes de unidade servem como loop de feedback imediato para garantir a validade das alterações no código-fonte.
Pré-requisitos
- Uma conta do GitHub.
- Um repositório de código-fonte do .NET.
Criar um arquivo do fluxo de trabalho
No repositório do GitHub, adicione um novo arquivo YAML ao diretório .github/workflows. Escolha um nome de arquivo significativo, algo que indique claramente o que o fluxo de trabalho se destina a fazer. Para obter mais informações, confira Arquivo do fluxo de trabalho.
Importante
O GitHub exige que os arquivos que compõem o fluxo de trabalho sejam colocados no diretório .github/workflows.
Os arquivos do fluxo de trabalho normalmente definem uma composição de uma ou mais ações do GitHub por meio do jobs.<job_id>/steps[*]. Para obter mais informações, confira Sintaxe de fluxo de trabalho do GitHub Actions.
Crie um novo arquivo chamado build-and-test.yml, e copie e cole o seguinte conteúdo YML nele:
name: build and test
on:
push:
pull_request:
branches: [ main ]
paths:
- '**.cs'
- '**.csproj'
env:
DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
jobs:
build-and-test:
name: build-and-test-${{matrix.os}}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- uses: actions/checkout@v3
- name: Setup .NET Core
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test
run: dotnet test --no-restore --verbosity normal
Na composição anterior do fluxo de trabalho:
O
name: build and testdefine o nome, "compilar" e “testar” aparecerão nas notificações de status do fluxo de trabalho.name: build and testO nó
onindica os eventos que disparam o fluxo de trabalho:on: push: pull_request: branches: [ main ] paths: - '**.cs' - '**.csproj'- Disparado quando um
pushoupull_requestocorrem no branchmainquando todos os arquivos alterados terminam com as extensões de arquivo .cs ou .csproj.
- Disparado quando um
O nó
envdefine variáveis de ambiente nomeadas (env var).env: DOTNET_VERSION: '6.0.401' # The .NET SDK version to use- A variável de ambiente
DOTNET_VERSIONé atribuída ao valor'6.0.401'. A variável de ambiente é referenciada posteriormente para especificar adotnet-versionda ação do GitHubactions/setup-dotnet@v3.
- A variável de ambiente
O nó
jobscompila as etapas para o fluxo de trabalho a ser realizado.jobs: build-and-test: name: build-and-test-${{matrix.os}} runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest, macOS-latest] steps: - uses: actions/checkout@v3 - name: Setup .NET Core uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ env.DOTNET_VERSION }} - name: Install dependencies run: dotnet restore - name: Build run: dotnet build --configuration Release --no-restore - name: Test run: dotnet test --no-restore --verbosity normal- Há um único trabalho chamado
build-<os>, no qual<os>é nome do sistema operacional dostrategy/matrix. Os elementosnameeruns-onsão dinâmicos para cada valor nomatrix/os. Esta ação será executada nas versões mais recentes do Ubuntu, do Windows e do macOS. - A ação do GitHub
actions/setup-dotnet@v3é usada para configurar o SDK do .NET com a versão especificada da variável de ambienteDOTNET_VERSION. - O comando
dotnet restoreé chamado. - O comando
dotnet buildé chamado. - O comando
dotnet testé chamado.
- Há um único trabalho chamado
Criar uma notificação de status de fluxo de trabalho
É comum que os repositórios do GitHub tenham um arquivo README.md na raiz do diretório do repositório. Da mesma forma, é bom relatar o status mais recente para vários fluxos de trabalho. Todos os fluxos de trabalho podem gerar uma notificação de status, que são visualmente atraentes no arquivo README.md. Para adicionar a notificação de status ao fluxo de trabalho:
No repositório do GitHub, selecione a opção de navegação Ações.
Todos os fluxos de trabalho do repositório são exibidos no lado esquerdo. Selecione o fluxo de trabalho desejado e o botão de reticências (...).
- O botão de reticências (...) expande as opções de menu para o fluxo de trabalho selecionado.
Selecione a opção no menu Criar notificação de status.
Selecione o botão Copiar Markdown da notificação de status.
Cole o Markdown no arquivo README.md, salve o arquivo, faça commit das alterações e envie por push.
Para obter mais informações, confira Como adicionar uma notificação de status do fluxo de trabalho.
Exemplo de notificação de status do fluxo de trabalho de teste
| Em aprovação | Com falha | Sem status |
|---|---|---|
Confira também
- dotnet restore
- dotnet build
- dotnet test
- Teste de unidade para aplicativos .NET
- actions/checkout
- actions/setup-dotnet

