Skip to main content

Compilar y probar Swift

Puedes crear un flujo de trabajo de integración continua (CI) para crear y probar tu proyecto de Swift.

Nota: Actualmente los ejecutores hospedados en GitHub no se admiten en GitHub Enterprise Server. Puede ver más información sobre la compatibilidad futura planeada en GitHub public roadmap.

Introducción

Esta guía te muestra cómo crear y probar un paquete de Swift.

Los ejecutores hospedados en GitHub tienen una caché de herramientas con software preinstalado y los ejecutores de Ubuntu y macOS incluyen las dependencias para crear paquetes de Swift. Para obtener una lista completa de software actualizado y las versiones preinstaladas de Swift y Xcode, consulta "Utilizar los ejecutores hospedados en GitHub".

Requisitos previos

Ya debes estar familiarizado con la sintaxis de YAML y con cómo se utiliza con GitHub Actions. Para obtener más información, vea «Sintaxis del flujo de trabajo para Acciones de GitHub».

Te recomendamos que tengas un entendimiento básico de los paquetes de Swift. Para más información, vea "Paquetes de Swift" en la documentación para desarrolladores de Apple.

Uso de una plantilla de flujo de trabajo de Swift

Para comenzar rápidamente, agregue una plantilla de flujo de trabajo al directorio .github/workflows del repositorio.

GitHub proporciona una la plantilla de flujo de trabajo para Swift que debería funcionar para la mayoría de los proyectos de Swift. En las secciones siguientes de esta guía se proporcionan ejemplos de cómo puede personalizar esta plantilla de flujo de trabajo.

  1. En tu instancia de GitHub Enterprise Server, navega a la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Acciones.

    Captura de pantalla de las pestañas del repositorio "github/docs". La pestaña "Proyectos" aparece resaltada con un contorno naranja.

  3. Si ya tiene un flujo de trabajo en su repositorio, haga clic en New workflow (Nuevo flujo de trabajo).

  4. En la página "Elegir un flujo de trabajo" se muestra una selección de plantillas de flujo de trabajo recomendadas. Busca «Swift».

  5. Filtra la selección de flujos de trabajo con un clic en Integración continua.

  6. En el flujo de trabajo “Swift”, haga clic en Configurar.

    Si no encuentra la plantilla de flujo de trabajo "Swift", copie el siguiente código de flujo de trabajo en un nuevo archivo llamado swift.yml en el directorio .github/workflows del repositorio.

    YAML
    name: Swift
    
    on:
      push:
        branches: [ "main" ]
      pull_request:
        branches: [ "main" ]
    
    jobs:
      build:
        runs-on: macos-latest
    
        steps:
        - uses: actions/checkout@v4
        - name: Build
          run: swift build -v
        - name: Run tests
          run: swift test -v
    
  7. Edita el flujo de trabajo según sea necesario. Por ejemplo, cambia la rama en la que se ejecutará el flujo de trabajo.

  8. Haga clic en Commit changes (Confirmar cambios).

Especificar una versión de Swift

Para usar una versión preinstalada concreta de Swift en un ejecutor hospedado en GitHub, use la acción swift-actions/setup-swift. Esta acción busca una versión específica de Swift en la caché de herramientas en el ejecutor y agrega los binarios necesarios a PATH. Estos cambios persistirán durante el resto de un job. Para más información, vea la acción swift-actions/setup-swift.

Si usa un ejecutor autohospedado, debe instalar las versiones de Swift deseadas y agregarlas a PATH.

En los ejemplos siguientes se muestra cómo usar la acción swift-actions/setup-swift.

Utilizar versiones múltiples de Swift

Puedes configurar el trabajo para que use múltiples versiones de Swift en una matriz.

YAML

# Este flujo de trabajo usa acciones que no GitHub no certifica.
# Estas las proporcionan entidades terceras y las gobiernan
# condiciones de servicio, políticas de privacidad y documentación de soporte
# en línea.

# GitHub recomienda anclar acciones a un SHA de confirmación.
# Para obtener una versión más reciente, debes actualizar el SHA.
# También puedes hacer referencia a una etiqueta o rama, pero la acción puede cambiar sin ninguna advertencia.

name: Swift

on: [push]

jobs:
  build:
    name: Swift ${{ matrix.swift }} on ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest]
        swift: ["5.2", "5.3"]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf
        with:
          swift-version: ${{ matrix.swift }}
      - uses: actions/checkout@v4
      - name: Build
        run: swift build
      - name: Run tests
        run: swift test

Utilizar solo una versión específica de Swift

Puede configurar el trabajo para que use una versión concreta de Swift, por ejemplo, 5.3.3.

YAML
steps:
  - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf
    with:
      swift-version: "5.3.3"
  - name: Get swift version
    run: swift --version # Swift 5.3.3

Construir y probar tu código

Puedes utilizar los mismos comandos que usas localmente para compilar y probar tu código utilizando Swift. En este ejemplo se muestra cómo usar swift build y swift test en un trabajo:

YAML
steps:
  - uses: actions/checkout@v4
  - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf
    with:
      swift-version: "5.3.3"
  - name: Build
    run: swift build
  - name: Run tests
    run: swift test