注: 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@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 の複数のバージョンを使用するようにジョブを設定できます。
# このワークフローは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: fwal/setup-swift@2040b795e5c453c3a05fcb8316496afc8a74f192
        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@2040b795e5c453c3a05fcb8316496afc8a74f192
    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@2040b795e5c453c3a05fcb8316496afc8a74f192
    with:
      swift-version: "5.3.3"
  - name: Build
    run: swift build
  - name: Run tests
    run: swift test