Inicio rápido: Crear un flujo de trabajo de GitHub de validación de prueba
En este inicio rápido, aprenderá a crear un flujo de trabajo de GitHub para probar el código fuente de .NET. La prueba automática del código .NET en GitHub se conoce como integración continua (CI), donde se realizan solicitudes de incorporación de cambios o cambios en los flujos de trabajo del desencadenador de origen que se van a ejercer. Junto con la compilación del código fuente, las pruebas garantizan que el código fuente compilado funcione como el autor previsto. Con más frecuencia que no, las pruebas unitarias sirven como bucle de comentarios inmediatos para ayudar a garantizar la validez de los cambios en el código fuente.
Requisitos previos
- Una cuenta de GitHub.
- Un repositorio de código fuente de .NET.
Creación de un archivo de flujo de trabajo
En el repositorio de GitHub, agregue un nuevo archivo YAML al directorio .github/workflows. Elija un nombre de archivo significativo, algo que indique claramente cuál va a ser la función del flujo de trabajo. Para más información, consulte Archivo de flujo de trabajo.
Importante
GitHub requiere que los archivos de composición del flujo de trabajo se coloquen en el directorio .github/workflows.
Normalmente, los archivos de flujo de trabajo definen una composición de una o varias Acciones de GitHub a través de jobs.<job_id>/steps[*]
. Para más información, consulte Sintaxis del flujo de trabajo para Acciones de GitHub.
Cree un archivo denominado build-and-test.yml y después copie y pegue dentro el siguiente contenido de YML:
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
En la composición del flujo de trabajo anterior:
name: build and test
define el nombre, «build and test» aparecerá en las notificaciones de estado del flujo de trabajo.name: build and test
El nodo
on
indica los eventos que desencadenan el flujo de trabajo:on: push: pull_request: branches: [ main ] paths: - '**.cs' - '**.csproj'
- Se desencadena cuando se produce
push
opull_request
en la ramamain
, en la que algunos archivos han cambiado, finalizando con las extensiones de archivo .cs o .csproj.
- Se desencadena cuando se produce
El nodo
env
define variables de entorno con nombre (env var).env: DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
- A la variable de entorno
DOTNET_VERSION
se le asigna el valor'6.0.401'
. Después, se hace referencia a la variable de entorno para especificar eldotnet-version
de la acción de GitHubactions/setup-dotnet@v3
.
- A la variable de entorno
El nodo
jobs
genera los pasos necesarios para que el flujo de trabajo se realice.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
- Hay un único trabajo, denominado
build-<os>
donde<os>
es el nombre del sistema operativo destrategy/matrix
. Los elementosname
yruns-on
son dinámicos para cada valor dematrix/os
. Esto se ejecutará en las versiones más recientes de Ubuntu, Windows y macOS. - La acción de GitHub
actions/setup-dotnet@v3
se usa para configurar el SDK de .NET con la versión especificada de la variable de entornoDOTNET_VERSION
. - Se llama al comando
dotnet restore
. - Se llama al comando
dotnet build
. - Se llama al comando
dotnet test
.
- Hay un único trabajo, denominado
Crear una notificación de estado del flujo de trabajo
Es habitual que los repositorios de GitHub tengan un archivo README.md en la raíz del directorio del repositorio. Del mismo modo, es deseable que se notifique el estado más reciente de varios flujos de trabajo. Todos los flujos de trabajo pueden generar notificaciones de estado, que son visualmente llamativas en el archivo README.md. Para agregar la notificación de estado del flujo de trabajo:
En el repositorio de GitHub, seleccione la opción de navegación Acciones.
Todos los flujos de trabajo del repositorio se muestran en el lado izquierdo, seleccione el flujo de trabajo deseado y el botón de puntos suspensivos (...).
- El botón de puntos suspensivos (...) expande las opciones del menú del flujo de trabajo seleccionado.
Seleccione la opción del menú Crear notificación de estado.
Seleccione el botón Copiar notificación de estado Markdown.
Pegue Markdown en el archivo README.md, guarde el archivo, confirme y envíe los cambios.
Para más información, consulte Agregar una notificación de estado de flujo de trabajo.
Ejemplo de notificación de estado de flujo de trabajo de prueba
Correcto | Con errores | Sin estado |
---|---|---|
Consulte también
- dotnet restore
- dotnet build
- dotnet test
- Pruebas unitarias .NET apps
- actions/checkout
- actions/setup-dotnet