ノート: GitHub Actionsは、GitHub Enterprise Server 2.22で限定ベータとして利用可能でした。 ベータは終了しました。 GitHub Actionsは、GitHub Enterprise Server 3.0以降で一般に利用可能になりました。 詳しい情報については、GitHub Enterprise Server 3.0 のリリースノートを参照してください。
- GitHub Enterprise Server 3.0以降へのアップグレードに関する詳しい情報については「GitHub Enterprise Serverのアップグレード」を参照してください。
- アップグレード後のGitHub Actionsの設定に関する詳しい情報については、GitHub Enterprise Server 3.0のドキュメンテーションを参照してください。
ノート: GitHubホストランナーは、現在GitHub Enterprise Serverでサポートされていません。 GitHubパブリックロードマップで、計画されている将来のサポートに関する詳しい情報を見ることができます。
はじめに
このガイドでは、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 test
Swift バージョンの指定
GitHub ホストランナーでプリインストールされた特定のバージョンの Swift を使用するには、fwal/setup-swift
アクションを使用します。 このアクションは、ランナーのツールキャッシュから特定のバージョンの Swift を見つけ、必要なバイナリを PATH
に追加します。 これらの変更は、ジョブの残りの部分で保持されます。 詳しい情報については、fwal/setup-swift
アクションを参照してください。
セルフホストランナーを使用している場合は、目的の Swift バージョンをインストールして PATH
に追加する必要があります。
以下は、fwal/setup-swift
アクションの使用例です。
複数の Swift バージョンを使用する
ビルドマトリックスで Swift の複数のバージョンを使用するようにジョブを設定できます。
# このワークフローはGitHubによって認定されていないアクションを使用します。
# それらはサードパーティによって提供され、
# 別個の利用規約、プライバシーポリシー、
# サポートドキュメンテーションが適用されます。
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@d43a564349d1341cd990cfbd70d94d63b8899475
with:
swift-version: ${{ matrix.swift }}
- uses: actions/checkout@
- name: Build
run: swift build
- name: Run tests
run: swift test
単一の特定の Swift バージョンを使用する
5.3.3
などの特定のバージョンの Swift を使用するようにジョブを設定できます。
steps:
- uses: fwal/setup-swift@d43a564349d1341cd990cfbd70d94d63b8899475
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@d43a564349d1341cd990cfbd70d94d63b8899475
with:
swift-version: "5.3.3"
- name: Build
run: swift build
- name: Run tests
run: swift test