Skip to main content

Swift のビルドとテスト

Swift プロジェクトのビルドとテストのための継続的インテグレーション (CI) ワークフローを作成する方法について説明します。

はじめに

このガイドでは、Swift パッケージをビルドしてテストする方法を説明します。

GitHub ホステッド ランナーにはプリインストールされたソフトウェアのあるツール キャッシュがあり、Ubuntu と macOS ランナーには、Swift パッケージをビルドするための依存関係が含まれています。 Swift と Xcode の最新のソフトウェアおよびプレインストールされるバージョンの完全な一覧については、「GitHub ホステッド ランナー」を参照してください。

前提条件

YAMLの構文と、GitHub ActionsでのYAMLの使われ方に馴染んでいる必要があります。 詳しくは、「GitHub Actions のワークフロー構文」をご覧ください。

Swift パッケージの基本を理解しておくことをお勧めします。 詳細については、Apple 開発者向けドキュメントの「Swift Packages」(Swift パッケージ) を参照してください。

Swift ワークフロー テンプレートの使用

すぐに開始するには、リポジトリの .github/workflows ディレクトリにワークフロー テンプレートを追加します。

GitHub では、ほとんどの Swift プロジェクトで動作する Swift 用のワークフロー テンプレートが提供されています。 このガイドの以降のセクションでは、このワークフロー テンプレートをカスタマイズする方法の例を示します。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [アクション] をクリックします。

    "github/docs" リポジトリのタブのスクリーンショット。 [アクション] タブがオレンジ色の枠線で強調表示されています。

  3. ワークフローが既にリポジトリ内にある場合は、 [新しいワークフロー] をクリックします。

  4. [ワークフローの選択] ページには、推奨されるワークフロー テンプレートの選択が表示されます。 「swift」を検索します。

  5. [継続的インテグレーション] をクリックして、ワークフローの選択をフィルター処理します。

  6. [Swift] ワークフローで、[構成] をクリックします。

  7. 必要に応じてワークフローを編集します。 たとえば、ワークフローを実行するブランチを変更します。

  8. [変更をコミットする] をクリックします。

swift.yml ワークフロー ファイルがリポジトリの .github/workflows ディレクトリに追加されます。

Swift バージョンの指定

GitHub ホスト型ランナーでプリインストールされた特定のバージョンの Swift を使用するには、swift-actions/setup-swift アクションを使用します。 このアクションでは、ランナーのツール キャッシュから特定のバージョンの Swift を見つけ、必要なバイナリを PATH に追加します。 これらの変更は、ジョブの残りの部分で保持されます。 詳細については、「swift-actions/setup-swift アクション」を参照してください。

セルフホスト型ランナーを使用している場合、目的の Swift バージョンをインストールして PATH に追加する必要があります。

次の例では、swift-actions/setup-swift アクションの使用を示します。

複数の Swift バージョンを使用する

マトリックスで Swift の複数のバージョンを使用するようにジョブを設定できます。

YAML

# このワークフローはGitHubによって認定されていないアクションを使用します。
# それらはサードパーティによって提供され、
# 別個の利用規約、プライバシーポリシー、
# ドキュメントを参照してください。

# GitHub では、コミット SHA にアクションをピン留めすることが推奨されます。
# 新しいバージョンを取得するには、SHA を更新する必要があります。
# タグまたはブランチを参照することもできますが、アクションは警告なしに変更される可能性があります。

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: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf
        with:
          swift-version: ${{ matrix.swift }}
      - uses: actions/checkout@v4
      - name: Build
        run: swift build
      - name: Run tests
        run: swift test

単一の特定の Swift バージョンを使用する

5.3.3 などの特定のバージョンの Swift を使用するようにジョブを設定できます。

YAML
steps:
  - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf
    with:
      swift-version: "5.3.3"
  - name: Get swift version
    run: swift --version # Swift 5.3.3

コードのビルドとテスト

ローカルで使うのと同じコマンドを使用して、Swift でコードをビルドおよびテストできます。 この例では、ジョブで swift buildswift test を使用する方法を示します。

YAML
steps:
  - uses: actions/checkout@v4
  - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf
    with:
      swift-version: "5.3.3"
  - name: Build
    run: swift build
  - name: Run tests
    run: swift test
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy