はじめに
このガイドでは、Xamarin プロジェクトの継続的インテグレーション (CI) を実行するワークフローを作成する方法について説明します。 作成するワークフローによって、プルリクエストに対するコミットがデフォルトブランチに対してビルドあるいはテストの失敗を引き起こしたことを見ることができるようになります。このアプローチは、コードが常に健全であることを保証するための役に立ちます。
GitHub Actionsホスト型 macOS ランナーで使用可能な Xamarin SDK バージョンの完全な一覧については、GitHub Actions Runner Images リポジトリで使用する macOS のバージョンの README ファイルを参照してください。
前提条件
Xamarin、.NET Core SDK、YAML、ワークフロー構成オプション、およびワークフロー ファイルの作成方法に関する基本的な理解を持っていることをお勧めします。 詳細については、次を参照してください。
-
[AUTOTITLE](/actions/using-workflows/workflow-syntax-for-github-actions) -
[.NET を始めよう](https://dotnet.microsoft.com/learn) -
[Xamarin について](https://dotnet.microsoft.com/learn/xamarin)
これらのステップを実行してください:
Xamarin.iOS アプリのビルド
次の例では、既定の Xamarin SDK バージョンを変更し、Xamarin.iOS アプリケーションをビルドする方法を示します。
name: Build Xamarin.iOS app
on: [push]
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v5
- 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@v4
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@v5
- 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@v4
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` アクションは、 GitHub Actions で.NETを使用する場合に推奨される方法です。これは、異なるランナーと異なるバージョンの.NET間で一貫した動作が保証されるためです。 セルフホステッド ランナーを使用している場合は、.NETをインストールし、`PATH` に追加する必要があります。 詳細については、「[`setup-dotnet`](https://github.com/marketplace/actions/setup-net-core-sdk) アクション」を参照してください。