Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Création et test de code Swift

Vous pouvez créer un workflow d’intégration continue (CI) pour générer et tester votre projet Swift.

Introduction

Ce guide vous montre comment générer et tester un package Swift.

GitHub ont un cache d’outils où sont préinstallés des logiciels. Les exécuteurs Ubuntu et macOS incluent les dépendances qui permettent de créer des packages Swift. Pour obtenir la liste complète des logiciels à jour et des versions préinstallées de Swift et Xcode, consultez « À propos des exécuteurs hébergés par GitHub ».

Prérequis

Vous devez déjà être familiarisé avec la syntaxe YAML et savoir comment elle s’utilise avec GitHub Actions. Pour plus d’informations, consultez « Syntaxe de workflow pour GitHub Actions ».

Il est recommandé de connaître les bases des packages Swift. Pour plus d’informations, consultez « Swift Packages » dans la documentation de développement Apple.

Utilisation du workflow de démarrage Swift

GitHub fournit un workflow de démarrage Swift qui doit fonctionner pour la plupart des projets Swift. Ce guide inclut des exemples qui montrent comment personnaliser ce workflow de démarrage. Pour plus d’informations, consultez Workflow de démarrage Swift.

Pour commencer rapidement, ajoutez le workflow de démarrage au répertoire .github/workflows de votre dépôt.

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

Spécification d’une version Swift

Pour utiliser une version préinstallée de Swift sur un exécuteur hébergé dans GitHub, utilisez l’action fwal/setup-swift. Cette action recherche une version spécifique de Swift à partir du cache d’outils de l’exécuteur, et ajoute les fichiers binaires nécessaires à PATH. Ces modifications seront conservées pendant toute la durée du travail. Pour plus d’informations, consultez l’action fwal/setup-swift.

Si vous utilisez un exécuteur auto-hébergé, vous devez installer les versions Swift souhaitées et les ajouter à PATH.

Les exemples ci-dessous montrent l’utilisation de l’action fwal/setup-swift.

Utilisation de plusieurs versions Swift

Vous pouvez configurer votre travail pour utiliser plusieurs versions de Swift dans une matrice.

YAML

# <a name="this-workflow-uses-actions-that-are-not-certified-by-github"></a>Ce workflow utilise des actions qui ne sont pas certifiées par GitHub.
# <a name="they-are-provided-by-a-third-party-and-are-governed-by"></a>Elles sont fournies par un tiers et régies par
# <a name="separate-terms-of-service-privacy-policy-and-support"></a>des conditions d’utilisation du service, une politique de confidentialité et un support distincts.
# <a name="documentation"></a>documentation en ligne.

# <a name="github-recommends-pinning-actions-to-a-commit-sha"></a>GitHub recommande d’épingler les actions à un SHA de commit.
# <a name="to-get-a-newer-version-you-will-need-to-update-the-sha"></a>Pour obtenir une version plus récente, vous devez mettre à jour le SHA.
# <a name="you-can-also-reference-a-tag-or-branch-but-the-action-may-change-without-warning"></a>Vous pouvez également référencer une balise ou une branche, mais l’action peut changer sans avertissement.

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

Utilisation d’une seule version Swift

Vous pouvez configurer votre travail pour qu’il utilise une seule version de Swift, comme 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

Génération et test de votre code

Vous pouvez utiliser les mêmes commandes que celles que vous utilisez localement pour générer et tester votre code à l’aide de Swift. Cet exemple montre comment utiliser swift build et swift test dans un travail :

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