はじめに
このガイドでは、Xamarin プロジェクトの継続的インテグレーション (CI) を実行するワークフローを作成する方法を説明します。 作成するワークフローによって、プルリクエストに対するコミットがデフォルトブランチに対してビルドあるいはテストの失敗を引き起こしたことを見ることができるようになります。このアプローチは、コードが常に健全であることを保証するための役に立ちます。
GitHub Actionsホスト型 macOS ランナーで使用可能な Xamarin SDK バージョンの完全なリストについては、GitHub Actions ランナー イメージ リポジトリで使用する macOS のバージョンの README ファイルをご覧ください。
前提条件
Xamarin、.NET Core SDK、YAML、ワークフロー設定オプション、およびワークフローファイルの作成方法の基本を理解しておくことをお勧めします。 詳細については、次を参照してください。
このガイドの例を使用するには、GitHub.com のリポジトリが必要です。 macOS ランナーは、GHE.com のサブドメイン (octocorp.ghe.com
など) では利用できません。
Xamarin.iOS アプリのビルド
以下は、デフォルトの Xamarin SDK バージョンを変更して Xamarin.iOS アプリケーションをビルドする方法の例です。
name: Build Xamarin.iOS app
on: [push]
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Set default Xamarin SDK versions
run: |
$VM_ASSETS/select-xamarin-sdk-v2.sh --mono=6.12 --ios=14.10
- name: Set default Xcode 12.3
run: |
XCODE_ROOT=/Applications/Xcode_12.3.0.app
echo "MD_APPLE_SDK_ROOT=$XCODE_ROOT" >> $GITHUB_ENV
sudo xcode-select -s $XCODE_ROOT
- name: Setup .NET Core SDK 5.0.x
uses: actions/setup-dotnet@v3
with:
dotnet-version: '5.0.x'
- name: Install dependencies
run: nuget restore <sln_file_path>
- name: Build
run: msbuild <csproj_file_path> /p:Configuration=Debug /p:Platform=iPhoneSimulator /t:Rebuild
Xamarin.Android アプリをビルドする
以下は、デフォルトの Xamarin SDK バージョンを変更して Xamarin.Android アプリケーションをビルドする方法の例です。
name: Build Xamarin.Android app
on: [push]
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Set default Xamarin SDK versions
run: |
$VM_ASSETS/select-xamarin-sdk-v2.sh --mono=6.10 --android=10.2
- name: Setup .NET Core SDK 5.0.x
uses: actions/setup-dotnet@v3
with:
dotnet-version: '5.0.x'
- name: Install dependencies
run: nuget restore <sln_file_path>
- name: Build
run: msbuild <csproj_file_path> /t:PackageForAndroid /p:Configuration=Debug
.NETのバージョンの指定
GitHub ホステッド ランナーにプレインストールされたバージョンの .NET Core SDK を使うには、setup-dotnet
アクションを使います。 このアクションは、各ランナーのツール キャッシュから特定のバージョンの .NET を見つけて、必要なバイナリを PATH
に追加します。 これらの変更は、ジョブの残りの部分で保持されます。
setup-dotnet
アクションを使用すると、異なるランナーおよび .NET の異なるバージョンの間で一貫した動作が保証されるため、GitHub Actions で NET を使用する場合の推奨される方法です。 セルフホステッド ランナーを使用している場合は、.NET をインストールし、それを PATH
に追加する必要があります。 詳細については、「setup-dotnet
アクション」を参照してください。