Guia de início rápido: criar um fluxo de trabalho do GitHub de validação de compilação
Neste guia de início rápido, você aprenderá como criar um fluxo de trabalho do GitHub para validar a compilação do código-fonte do .NET no GitHub. Compilar seu código .NET é uma das etapas de validação mais básicas que você pode tomar para ajudar a garantir a qualidade das atualizações do seu código. Se o código não compilar (ou compilar), é um dissuasor fácil e deve ser um sinal claro de que o código precisa ser corrigido.
Pré-requisitos
- Uma conta GitHub.
- Um repositório de código-fonte .NET.
Criar um arquivo de fluxo de trabalho
No repositório 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 pretende fazer. Para obter mais informações, consulte Arquivo de fluxo de trabalho.
Importante
O GitHub requer que os arquivos de composição do fluxo de trabalho sejam colocados no diretório .github/workflows .
Os arquivos de 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, consulte Sintaxe do fluxo de trabalho para ações do GitHub.
Crie um novo arquivo chamado build-validation.yml, copie e cole o seguinte conteúdo YML nele:
name: build
on:
push:
pull_request:
branches: [ main ]
paths:
- '**.cs'
- '**.csproj'
env:
DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
jobs:
build:
name: build-${{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
Na composição do fluxo de trabalho anterior:
O
name: build
define o nome, "build" aparecerá nos selos de status do fluxo de trabalho.name: build
O
on
nó significa os eventos que acionam o fluxo de trabalho:on: push: pull_request: branches: [ main ] paths: - '**.cs' - '**.csproj'
- Acionado quando um
push
ou ocorre namain
ramificação onde quaisquer arquivos foram alterados terminando com as extensões de arquivo .cs ou .csprojpull_request
.
- Acionado quando um
O
env
nó define variáveis de ambiente nomeadas (env var).env: DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
- A variável
DOTNET_VERSION
de ambiente recebe o valor'6.0.401'
. A variável de ambiente é posteriormente referenciada para especificar odotnet-version
actions/setup-dotnet@v3
da Ação do GitHub.
- A variável
O
jobs
nó cria as etapas a serem executadas pelo fluxo de trabalho.jobs: build: name: build-${{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
Há um único trabalho, nomeado
build-<os>
onde o é o<os>
nome do sistema operacional dostrategy/matrix
. Osname
elementos eruns-on
são dinâmicos para cada valor nomatrix/os
. Isso será executado nas versões mais recentes do Ubuntu, Windows e macOS.A
actions/setup-dotnet@v3
ação do GitHub é necessária para configurar o SDK do .NET com a versão especificada daDOTNET_VERSION
variável de ambiente.(Opcionalmente) Etapas adicionais podem ser necessárias, dependendo da sua carga de trabalho do .NET. Eles são omitidos deste exemplo, mas você pode precisar de ferramentas adicionais instaladas para criar seus aplicativos.
- Por exemplo, ao criar um aplicativo WebAssembly ASP.NET Core Blazor com compilação Ahead-of-Time (AoT), você instalaria a carga de trabalho correspondente antes de executar operações de restauração/compilação/publicação.
- name: Install WASM Tools Workload run: dotnet workload install wasm-tools
Para obter mais informações sobre cargas de trabalho .NET, consulte
dotnet workload install
.O
dotnet restore
comando é chamado.O
dotnet build
comando é chamado.
Nesse caso, pense em um arquivo de fluxo de trabalho como uma composição que representa as várias etapas para criar um aplicativo. Muitos comandos da CLI do .NET estão disponíveis, a maioria dos quais pode ser usada no contexto de uma ação do GitHub.
Criar um selo de status do fluxo de trabalho
É uma nomenclatura comum para repositórios do GitHub ter 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 um selo de status, que são visualmente atraentes dentro do arquivo README.md . Para adicionar o selo de status do fluxo de trabalho:
No repositório 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 de menu Criar selo de status.
Selecione o botão Copiar selo de status Markdown .
Cole o Markdown no arquivo README.md , salve o arquivo, confirme e envie as alterações.
Para saber mais, consulte Adicionando um selo de status do fluxo de trabalho.
Exemplo de selo de status do fluxo de trabalho de compilação
Passagem | Com falhas | Sem estatuto |
---|---|---|