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.

Introducción

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

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, vea "Acerca de los ejecutores hospedados en GitHub".

Prerrequisitos

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

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.

Utilizar el flujo de trabajo inicial de Swift

GitHub proporciona un flujo de trabajo inicial de Swift que debería funcionar par ala mayoría de los proyectos de Swift y esta guía incluye ejemplos que te muestran cómo personalizarlo. Para más información, vea el flujo de trabajo de inicio de Swift.

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

YAML
name: Swift

on: [push]

jobs:
  build:

    runs-on: macos-latest

    steps:
      - uses: actions/checkout@v3
      - name: Build
        run: swift build
      - name: Run tests
        run: swift test

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 fwal/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 fwal/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 fwal/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: fwal/setup-swift@2040b795e5c453c3a05fcb8316496afc8a74f192
        with:
          swift-version: ${{ matrix.swift }}
      - uses: actions/checkout@v3
      - 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: fwal/setup-swift@2040b795e5c453c3a05fcb8316496afc8a74f192
    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@v3
  - uses: fwal/setup-swift@2040b795e5c453c3a05fcb8316496afc8a74f192
    with:
      swift-version: "5.3.3"
  - name: Build
    run: swift build
  - name: Run tests
    run: swift test