Skip to main content
Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.
GitHub AE está actualmente en un lanzamiento limitado. Por favor, contacta a nuestro equipo de ventas para conocer más sobre esto.

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.

Para compilar y probar tu proyecto de Swift en GitHub AE, se requieren las dependencias necesarias de Swift. Debes instalar el software requerido en tus ejecutores auto-hospedados. Para obtener información sobre los ejecutores auto-hospedados, consulta la sección "Hospedar tus propios ejecutores".

Prerrequisitos

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

Te recomendamos que tengas un entendimiento básico de los paquetes de Swift. Para obtener más información, consulta la sección "Paquetes de Swift" en la documentación de desarrollador 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 obtener más información, consulta la sección Flujo de trabajo inicial de Swift.

Para comenzar rápidamente, agrega el flujo de trabajo inicial al directorio de .github/workflows de tu repositorio.

YAML
name: Swift

on: [push]

jobs:
  build:

    runs-on: macos-latest

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

Especificar una versión de Swift

Para utilizar una versión preinstalada de Swift en un ejecutor hospedado en GitHub, utiliza la acción fwal/setup-swift. Esta acción encuentra una versión específica de Swift desde el caché de herramientas en el ejecutor y agrega los binarios necesarios al PATH. Estos cambios persistirán durante el resto de un job. Para obtener más información, consulta la acción fwal/setup-swift.

Si estás utilizando un ejecutor auto-hospedado, debes instalar tus versiones de Swift deseadas y agregarlas al PATH.

Los siguientes ejemplos demuestran el uso de la acción fwal/setup-swift.

Utilizar versiones múltiples de Swift

You can configure your job to use multiple versions of Swift in a matrix.

YAML
# This workflow uses actions that are not certified by GitHub.
# Estas las proporcionan entidades terceras y las gobiernan
# condiciones de servicio, políticas de privacidad y documentación de soporte
# documentación.

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@v2
      - name: Build
        run: swift build
      - name: Run tests
        run: swift test

Utilizar solo una versión específica de Swift

Puedes configurar tu job para que utilice una sola versión específica de Swift, tal como la 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. Este ejemplo demuestra cómo utilizar swift build y swift test en un job:

YAML
steps:
  - uses: actions/checkout@v2
  - uses: fwal/setup-swift@2040b795e5c453c3a05fcb8316496afc8a74f192
    with:
      swift-version: "5.3.3"
  - name: Build
    run: swift build
  - name: Run tests
    run: swift test