{"meta":{"title":"Création et test de code Swift","intro":"Découvrez comment créer un workflow d’intégration continue (CI) pour générer et tester votre projet Swift.","product":"GitHub Actions","breadcrumbs":[{"href":"/fr/actions","title":"GitHub Actions"},{"href":"/fr/actions/tutorials","title":"Tutoriels"},{"href":"/fr/actions/tutorials/build-and-test-code","title":"Générer et tester du code"},{"href":"/fr/actions/tutorials/build-and-test-code/swift","title":"Swift"}],"documentType":"article"},"body":"# Création et test de code Swift\n\nDécouvrez comment créer un workflow d’intégration continue (CI) pour générer et tester votre projet Swift.\n\n## Présentation\n\nCe guide vous montre comment générer et tester un package Swift.\n\nGitHubLes exécuteurs hébergés ont un cache d’outils avec des logiciels préinstallés, et les exécuteurs Ubuntu et macOS incluent les dépendances pour la création de packages Swift. Pour obtenir la liste complète des logiciels à jour et des versions préinstallées de Swift et Xcode, consultez [Exécuteurs hébergés par GitHub](/fr/actions/concepts/runners/github-hosted-runners#preinstalled-software-for-github-owned-images).\n\n## Prérequis\n\nVous devez déjà être familiarisé avec la syntaxe YAML et la façon dont elle est utilisée avec GitHub Actions. Pour plus d’informations, consultez « [Syntaxe de flux de travail pour GitHub Actions](/fr/actions/reference/workflows-and-actions/workflow-syntax) ».\n\nIl est recommandé de connaître les bases des packages Swift. Pour plus d’informations, consultez [Swift Packages](https://developer.apple.com/documentation/xcode/swift-packages) dans la documentation de développement Apple.\n\n## Utilisation d’un modèle de workflow Swift\n\nPour démarrer rapidement, ajoutez un modèle de workflow au répertoire `.github/workflows` de votre référentiel.\n\nGitHub fournit un modèle de flux de travail pour Swift qui doit fonctionner pour la plupart des projets Swift. Les sections suivantes de ce guide donnent des exemples de la manière dont vous pouvez personnaliser ce modèle de workflow.\n\n1. Sur GitHub, accédez à la page principale du référentiel.\n\n2. Sous le nom de votre référentiel, cliquez sur **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg> Actions**.\n\n   ![Capture d’écran des onglets du référentiel « github/docs ». L’onglet « Actions » est mis en surbrillance avec un encadré orange.](/assets/images/help/repository/actions-tab-global-nav-update.png)\n\n3. Si vous disposez déjà d’un workflow dans votre dépôt, cliquez sur **Nouveau workflow**.\n\n4. La page « Choisir un workflow » présente une sélection de modèles de workflow recommandés. Recherchez « swift ».\n\n5. Filtrez la sélection de workflows en cliquant sur **Intégration continue**.\n\n6. Dans le workflow « Swift », cliquez sur **Configurer**.\n\n7. Modifiez le workflow en fonction des besoins. Par exemple, modifiez la branche sur laquelle le workflow s’exécutera.\n\n8. Cliquez sur **Commiter les changements**.\n\n   Le `swift.yml` fichier de flux de travail est ajouté au `.github/workflows` répertoire de votre référentiel.\n\n## Spécification d’une version Swift\n\nPour utiliser une version préinstallée spécifique de Swift sur un GitHubexécuteur hébergé, utilisez l’action `swift-actions/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 [`swift-actions/setup-swift`](https://github.com/marketplace/actions/setup-swift).\n\nSi vous utilisez un exécuteur auto-hébergé, vous devez installer les versions Swift souhaitées et les ajouter à `PATH`.\n\nLes exemples ci-dessous montrent l’utilisation de l’action `swift-actions/setup-swift`.\n\n### Utilisation de plusieurs versions Swift\n\nVous pouvez configurer votre travail pour utiliser plusieurs versions de Swift dans une matrice.\n\n```yaml copy\n\n# Ce workflow utilise des actions qui ne sont pas certifiées par GitHub.\n# Elles sont fournies par un tiers et régies par\n# des conditions d’utilisation du service, une politique de confidentialité et un support distincts.\n# documentation en ligne.\n\n# GitHub recommande d’épingler les actions à un SHA de commit.\n# Pour obtenir une version plus récente, vous devez mettre à jour le SHA.\n# Vous pouvez également référencer une balise ou une branche, mais l’action peut changer sans avertissement.\n\nname: Swift\n\non: [push]\n\njobs:\n  build:\n    name: Swift ${{ matrix.swift }} on ${{ matrix.os }}\n    strategy:\n      matrix:\n        os: [ubuntu-latest, macos-latest]\n        swift: [\"5.2\", \"5.3\"]\n    runs-on: ${{ matrix.os }}\n    steps:\n      - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf\n        with:\n          swift-version: ${{ matrix.swift }}\n      - uses: actions/checkout@v6\n      - name: Build\n        run: swift build\n      - name: Run tests\n        run: swift test\n```\n\n### Utilisation d’une seule version Swift\n\nVous pouvez configurer votre travail pour qu’il utilise une seule version de Swift, comme `5.3.3`.\n\n```yaml copy\n# Ce workflow utilise des actions qui ne sont pas certifiées par GitHub.\n# Elles sont fournies par un tiers et régies par\n# des conditions d’utilisation du service, une politique de confidentialité et un support distincts.\n# documentation en ligne.\nsteps:\n  - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf\n    with:\n      swift-version: \"5.3.3\"\n  - name: Get swift version\n    run: swift --version # Swift 5.3.3\n```\n\n## Génération et test de votre code\n\nVous 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 :\n\n```yaml copy\n# Ce workflow utilise des actions qui ne sont pas certifiées par GitHub.\n# Elles sont fournies par un tiers et régies par\n# des conditions d’utilisation du service, une politique de confidentialité et un support distincts.\n# documentation en ligne.\nsteps:\n  - uses: actions/checkout@v6\n  - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf\n    with:\n      swift-version: \"5.3.3\"\n  - name: Build\n    run: swift build\n  - name: Run tests\n    run: swift test\n```"}