Skip to main content

Compilación y prueba de aplicaciones de Xamarin

Aprenda a crear un flujo de trabajo de integración continua (CI) en GitHub Actions para compilar y probar la aplicación Xamarin.

Introducción

En esta guía se muestra cómo crear un flujo de trabajo que realice la integración continua (CI) para el proyecto de Xamarin. El flujo de trabajo que creas te permitirá ver cuándo las confirmaciones de una solicitud de extracción causan la construcción o las fallas de prueba en tu rama por defecto; este enfoque puede ayudar a garantizar que tu código siempre sea correcto.

Para obtener una lista completa de las versiones disponibles del SDK de Xamarin en los ejecutores de macOS hospedados en GitHub Actions, consulta el archivo README correspondiente a la versión de macOS que quieres usar en el repositorio de las imágenes del ejecutor de GitHub Actions.

Requisitos previos

Se recomienda tener conocimientos básicos sobre Xamarin, .NET Core SDK, YAML, opciones de configuración de flujo de trabajo y cómo crear un archivo de flujo de trabajo. Para más información, consulte:

  •         [AUTOTITLE](/actions/using-workflows/workflow-syntax-for-github-actions)
    
  •         [Introducción a .NET](https://dotnet.microsoft.com/learn)
    
  •         [Información sobre Xamarin](https://dotnet.microsoft.com/learn/xamarin)
    

Compilación de aplicaciones Xamarin.iOS

En el ejemplo siguiente se muestra cómo cambiar las versiones predeterminadas del SDK de Xamarin y compilar una aplicación Xamarin.iOS.

name: Build Xamarin.iOS app

on: [push]

jobs:
  build:

    runs-on: macos-latest

    steps:
    - uses: actions/checkout@v5
    - name: Set default Xamarin SDK versions
      run: |
        $VM_ASSETS/select-xamarin-sdk-v2.sh --mono=6.12 --ios=14.10

    - name: Set default Xcode 12.3
      run: |
        XCODE_ROOT=/Applications/Xcode_12.3.0.app
        echo "MD_APPLE_SDK_ROOT=$XCODE_ROOT" >> $GITHUB_ENV
        sudo xcode-select -s $XCODE_ROOT

    - name: Setup .NET Core SDK 5.0.x
      uses: actions/setup-dotnet@v4
      with:
        dotnet-version: '5.0.x'

    - name: Install dependencies
      run: nuget restore <sln_file_path>

    - name: Build
      run: msbuild <csproj_file_path> /p:Configuration=Debug /p:Platform=iPhoneSimulator /t:Rebuild

Desarrollo de aplicaciones con Xamarin.Android

En el ejemplo siguiente se muestra cómo cambiar las versiones predeterminadas del SDK de Xamarin y crear un Xamarin. Aplicación Android.

name: Build Xamarin.Android app

on: [push]

jobs:
  build:

    runs-on: macos-latest

    steps:
    - uses: actions/checkout@v5
    - name: Set default Xamarin SDK versions
      run: |
        $VM_ASSETS/select-xamarin-sdk-v2.sh --mono=6.10 --android=10.2

    - name: Setup .NET Core SDK 5.0.x
      uses: actions/setup-dotnet@v4
      with:
        dotnet-version: '5.0.x'

    - name: Install dependencies
      run: nuget restore <sln_file_path>

    - name: Build
      run: msbuild <csproj_file_path> /t:PackageForAndroid /p:Configuration=Debug

Especificación de una versión de .NET

Para utilizar una versión preinstalada del SDK de .NET Core en un runner hospedado por GitHub, utilice la acción setup-dotnet. Esta acción busca una versión específica de .NET de la memoria caché de herramientas en cada ejecutor y agrega los archivos binarios necesarios a PATH. Estos cambios persistirán para el resto del trabajo.

La acción setup-dotnet es la forma recomendada de usar .NET con GitHub Actions, ya que garantiza un comportamiento coherente entre distintos ejecutores y versiones diferentes de .NET. Si usa un ejecutor autohospedado, debe instalar .NET y agregarlo a PATH. Para más información, vea la acción setup-dotnet.