はじめに
このガイドでは、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@v2
- name: Build
run: swift build
- name: Run tests
run: swift testSwift バージョンの指定
GitHub ホストランナーでプリインストールされた特定のバージョンの Swift を使用するには、fwal/setup-swift アクションを使用します。 このアクションは、ランナーのツールキャッシュから特定のバージョンの Swift を見つけ、必要なバイナリを PATH に追加します。 これらの変更は、ジョブの残りの部分で保持されます。 詳しい情報については、fwal/setup-swift アクションを参照してください。
セルフホストランナーを使用している場合は、目的の Swift バージョンをインストールして PATH に追加する必要があります。
以下は、fwal/setup-swift アクションの使用例です。
複数の Swift バージョンを使用する
ビルドマトリックスで Swift の複数のバージョンを使用するようにジョブを設定できます。
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@v1
with:
swift-version: ${{ matrix.swift }}
- uses: actions/checkout@v2
- name: Build
run: swift build
- name: Run tests
run: swift test単一の特定の Swift バージョンを使用する
5.3.3 などの特定のバージョンの Swift を使用するようにジョブを設定できます。
steps:
- uses: fwal/setup-swift@v1
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@v2
- uses: fwal/setup-swift@v1
with:
swift-version: "5.3.3"
- name: Build
run: swift build
- name: Run tests
run: swift test
