简介
本指南向您展示如何创建一个工作流,为您的 Xamarin 项目执行持续集成 (CI)。您创建的工作流将允许您查看何时对拉取请求的提交会导致针对您的默认分支的构建或测试失败;这种方法可以帮助确保您的代码始终保持健康。
有关 GitHub Actions 托管的 macOS 运行器上可用的所有 Xamarin SDK 版本的完整列表,请参阅您想要在 GitHub Actions Runner Images 存储库 中使用的 macOS 版本的 README 文件。
先决条件
我们建议您对 Xamarin、.NET Core SDK、YAML、工作流配置选项以及如何创建工作流文件有一个基本的了解。有关更多信息,请参阅
构建 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
操作是使用 GitHub Actions 中的 .NET 的推荐方法,因为它确保了不同运行器和不同版本的 .NET 之间的行为一致。如果您使用的是自托管运行器,则必须安装 .NET 并将其添加到 PATH
。有关更多信息,请参阅 setup-dotnet
操作。