Início Rápido: criar um fluxo de trabalho do GitHub para validação de teste
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 test
define o nome, "compilar" e “testar” aparecerão nas notificações de status do fluxo de trabalho.name: build and test
O nó
on
indica os eventos que disparam o fluxo de trabalho:on: push: pull_request: branches: [ main ] paths: - '**.cs' - '**.csproj'
- Disparado quando um
push
oupull_request
ocorrem no branchmain
quando todos os arquivos alterados terminam com as extensões de arquivo .cs ou .csproj.
- Disparado quando um
O nó
env
define 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-version
da ação do GitHubactions/setup-dotnet@v3
.
- A variável de ambiente
O nó
jobs
compila 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 elementosname
eruns-on
sã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