注: GitHub ホステッド ランナーは、現在 GitHub Enterprise Server でサポートされていません。 GitHub public roadmap で、今後の計画的なサポートの詳細を確認できます。
はじめに
このガイドでは、Swift パッケージをビルドしてテストする方法を説明します。
GitHub ホスト型ランナーには、ソフトウェアがプリインストールされたツールキャッシュがあり、Ubuntu および macOS ランナーには、Swift パッケージをビルドするための依存関係が含まれています。 Swift と Xcode の最新のソフトウェアおよびプレインストールされるバージョンの完全な一覧については、「GitHub ホステッド ランナーの概要」をご覧ください。
前提条件
YAMLの構文と、GitHub ActionsでのYAMLの使われ方に馴染んでいる必要があります。 詳しくは、「GitHub Actions のワークフロー構文」を参照してください。
Swift パッケージの基本を理解しておくことをお勧めします。 詳細については、Apple 開発者向けドキュメントの「Swift パッケージ」を参照してください。
Swift スターター ワークフローの使用
GitHub には、ほとんどの Swift プロジェクトで動作する Swift スターター ワークフローが用意されており、このガイドにはこのスターター ワークフローのカスタマイズ方法を示す例が含まれています。 詳細については、「Swift スターター ワークフロー」を参照してください。
すぐに作業を開始するには、リポジトリの .github/workflows
ディレクトリにスターター ワークフローを追加します。
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
Swift バージョンの指定
GitHub ホスト型ランナーでプリインストールされた特定のバージョンの Swift を使用するには、swift-actions/setup-swift
アクションを使用します。 このアクションでは、ランナーのツール キャッシュから特定のバージョンの Swift を見つけ、必要なバイナリを PATH
に追加します。 これらの変更は、ジョブの残りの部分で保持されます。 詳細については、「swift-actions/setup-swift
アクション」を参照してください。
セルフホスト型ランナーを使用している場合、目的の Swift バージョンをインストールして PATH
に追加する必要があります。
次の例では、swift-actions/setup-swift
アクションの使用を示します。
複数の Swift バージョンを使用する
マトリックスで Swift の複数のバージョンを使用するようにジョブを設定できます。
# このワークフローは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@v3
- name: Build
run: swift build
- name: Run tests
run: swift test
単一の特定の Swift バージョンを使用する
5.3.3
などの特定のバージョンの Swift を使用するようにジョブを設定できます。
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 build
と swift test
を使用する方法を示します。
steps:
- uses: actions/checkout@v3
- uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf
with:
swift-version: "5.3.3"
- name: Build
run: swift build
- name: Run tests
run: swift test