{"meta":{"title":"Erstellen und Testen eines Swift-Projekts","intro":"Hier erfährst, du, wie du einen CI-Workflow (Continuous Integration) erstellst, um dein Swift-Projekt zu erstellen und zu testen.","product":"GitHub Actions","breadcrumbs":[{"href":"/de/actions","title":"GitHub Actions"},{"href":"/de/actions/tutorials","title":"Anleitungen"},{"href":"/de/actions/tutorials/build-and-test-code","title":"Erstellen und Testen von Code"},{"href":"/de/actions/tutorials/build-and-test-code/swift","title":"Swift"}],"documentType":"article"},"body":"# Erstellen und Testen eines Swift-Projekts\n\nHier erfährst, du, wie du einen CI-Workflow (Continuous Integration) erstellst, um dein Swift-Projekt zu erstellen und zu testen.\n\n## Einleitung\n\nDieser Leitfaden zeigt dir, wie du ein Swift-Paket erstellen und testen kannst.\n\nGitHub-gehostete Runner haben einen Toolscache mit vorinstallierter Software, und die Ubuntu- und macOS-Runner enthalten die Abhängigkeiten zum Erstellen von Swift-Paketen. Die vollständige Liste der aktuellen Software und der vorinstallierten Versionen von Swift und Xcode finden Sie unter [Von GitHub gehostete Runner](/de/actions/using-github-hosted-runners/about-github-hosted-runners#supported-software).\n\n## Voraussetzungen\n\nDu solltest bereits mit der YAML-Syntax vertraut sein und wissen, wie sie mit GitHub Actions verwendet wird. Weitere Informationen finden Sie unter [Workflowsyntax für GitHub Actions](/de/actions/using-workflows/workflow-syntax-for-github-actions).\n\nDu solltest grundlegende Kenntnisse über Swift-Pakete besitzen. Weitere Informationen finden Sie in der Apple-Entwicklerdokumentation unter [Swift-Pakete](https://developer.apple.com/documentation/xcode/swift-packages).\n\n## Verwenden einer Swift-Workflowvorlage\n\nFügen Sie für einen schnellen Einstieg dem Verzeichnis `.github/workflows` Ihres Repositorys eine Workflowvorlage hinzu.\n\nGitHub stellt eine Workflowvorlage für Swift bereit, die für die meisten Swift-Projekte funktioniert. In den folgenden Abschnitten dieser Anleitung finden Sie Beispiele dafür, wie diese Workflowvorlage angepasst werden kann.\n\n1. Navigieren Sie auf GitHub zur Hauptseite des Repositorys.\n\n2. Klicke unter dem Repositorynamen auf **<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   ![Screenshot: Registerkarten für das Repository „github/docs“. Die Registerkarte „Aktionen“ ist mit einem orangefarbenen Rahmen hervorgehoben.](/assets/images/help/repository/actions-tab-global-nav-update.png)\n\n3. Wenn du bereits über einen Workflow im Repository verfügst, klicke auf **Neuer Workflow**.\n\n4. Auf der Seite „Workflow auswählen“ wird eine Auswahl empfohlener Workflowvorlagen angezeigt. Suchen Sie nach „swift“.\n\n5. Filtern Sie die Auswahl von Workflows, indem Sie auf **Continuous Integration** klicken.\n\n6. Klicken Sie im Workflow „Swift“ auf **Konfigurieren**.\n\n7. Bearbeiten Sie den Workflow nach Bedarf. Ändern Sie beispielsweise die Verzweigung, auf der der Workflow ausgeführt werden soll.\n\n8. Klicke auf **Änderungen committen**.\n\nDie `swift.yml`-Workflowdatei wird dem `.github/workflows`-Verzeichnis Ihres Repositorys hinzugefügt.\n\n## Angeben einer Swift-Version\n\nVerwende die Aktion `swift-actions/setup-swift`, um eine vorinstallierte Swift-Version auf einem von GitHub gehosteten Runner zu verwenden. Mit dieser Aktion wird im Toolcache der jeweiligen Runner nach einer bestimmten Version von Swift gesucht, und die erforderlichen Binärdateien werden `PATH` hinzugefügt. Diese Änderungen werden für den Rest eines Auftrags beibehalten. Weitere Informationen finden Sie unter der Aktion [`swift-actions/setup-swift`](https://github.com/marketplace/actions/setup-swift).\n\nWenn Sie einen selbst gehosteten Runner verwenden, müssen Sie die gewünschten Swift Versionen installieren und zu `PATH` hinzufügen.\n\nDie folgenden Beispiele veranschaulichen die Verwendung der `swift-actions/setup-swift`-Aktion.\n\n### Verwenden mehrerer Swift-Versionen\n\nDu kannst deinen Auftrag so konfigurieren, dass mehrere Versionen von Swift in einer Matrix verwendet werden.\n\n```yaml copy\n\n# Dieser Workflow verwendet Aktionen, die nicht von GitHub zertifiziert sind.\n# Sie werden von einem Drittanbieter bereitgestellt und unterliegen\n# separaten Nutzungsbedingungen, Datenschutzbestimmungen und Support\n# Onlinedokumentation.\n\n# GitHub empfiehlt, Aktionen an einen Commit-SHA anzuheften.\n# Um eine neuere Version zu erhalten, musst du den SHA aktualisieren.\n# Du kannst auch auf ein Tag oder einen Branch verweisen, aber die Aktion kann sich ohne Vorwarnung ändern.\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### Verwenden einer einzelnen bestimmten Swift-Version\n\nDu kannst deinen Auftrag so konfigurieren, dass eine einzelne bestimmte Version von Swift verwendet wird, z. B. `5.3.3`.\n\n```yaml copy\n# Dieser Workflow verwendet Aktionen, die nicht von GitHub zertifiziert sind.\n# Sie werden von einem Drittanbieter bereitgestellt und unterliegen\n# separaten Nutzungsbedingungen, Datenschutzbestimmungen und Support\n# Onlinedokumentation.\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## Deinen Code bauen und testen\n\nDu kannst dieselben Befehle verwenden, die du auch lokal verwendest, um deinen Code mit Swift zu erstellen und zu testen. In diesem Beispiel wird veranschaulicht, wie die Befehle `swift build` und `swift test` in einem Auftrag verwendet werden:\n\n```yaml copy\n# Dieser Workflow verwendet Aktionen, die nicht von GitHub zertifiziert sind.\n# Sie werden von einem Drittanbieter bereitgestellt und unterliegen\n# separaten Nutzungsbedingungen, Datenschutzbestimmungen und Support\n# Onlinedokumentation.\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```"}