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.

Erstellen und Testen eines Swift-Projekts

Du kannst einen Continuous-Integration-Workflow (CI) erstellen, um dein Swift-Projekt zu erstellen und zu testen.

Einführung

Dieser Leitfaden zeigt dir, wie du ein Swift-Paket erstellen und testen kannst.

GitHub-gehostete Runner haben einen Toolscache mit vorinstallierter Software, und die Ubuntu- und macOS-Runner enthalten die Abhängigkeiten zum Erstellen von Swift-Paketen. Eine vollständige Liste der aktuellen Software und der vorinstallierten Versionen von Swift und Xcode findest du unter Informationen zu GitHub-gehosteten Runnern.

Voraussetzungen

Du solltest bereits mit der YAML-Syntax vertraut sein und wissen, wie sie mit GitHub Actions verwendet wird. Weitere Informationen findest du unter Workflowsyntax für GitHub Actions.

Du solltest grundlegende Kenntnisse über Swift-Pakete besitzen. Weitere Informationen findest du in der Apple-Entwicklerdokumentation unter Swift-Pakete.

Verwenden des Swift-Starterworkflows

Von GitHub wird ein Swift-Starterworkflow bereitgestellt, der für die meisten Swift-Projekte verwendet werden kann. Wie du diesen Starterworkflow anpassen kannst, erfährst du anhand der Beispiele in diesem Leitfaden. Weitere Informationen findest du im Swift-Starterworkflow.

Für einen schnellen Einstieg füge den Starterworkflow zum Verzeichnis .github/workflows deines Repositorys hinzu.

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

Angeben einer Swift-Version

Verwende die Aktion fwal/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 findest du unter der Aktion fwal/setup-swift.

Wenn du einen selbstgehosteten Runner verwendest, musst du deine gewünschten Swift Versionen installieren und diese PATH hinzufügen.

Die folgenden Beispiele veranschaulichen die Verwendung der fwal/setup-swift-Aktion.

Verwenden mehrerer Swift-Versionen

Du kannst deinen Auftrag so konfigurieren, dass mehrere Versionen von Swift in einer Matrix verwendet werden.

YAML

# Dieser Workflow verwendet Aktionen, die nicht von GitHub zertifiziert sind.
# Sie werden von einem Drittanbieter bereitgestellt und unterliegen
# separaten Nutzungsbedingungen, Datenschutzbestimmungen und Support
# Onlinedokumentation.

# GitHub empfiehlt, Aktionen an einen Commit-SHA anzuheften.
# Um eine neuere Version zu erhalten, musst du den SHA aktualisieren.
# Du kannst auch auf ein Tag oder einen Branch verweisen, aber die Aktion kann sich ohne Vorwarnung ändern.

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

Verwenden einer einzelnen bestimmten Swift-Version

Du kannst deinen Auftrag so konfigurieren, dass eine einzelne bestimmte Version von Swift verwendet wird, z. B. 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

Deinen Code bauen und testen

Du 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:

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