简介
本指南介绍如何为 Xamarin 项目创建执行持续集成 (CI) 的工作流程。 您创建的工作流程将允许您查看拉取请求提交何时会在默认分支上导致构建或测试失败; 这个方法可帮助确保您的代码始终是健康的。
有关 GitHub Actions 托管 macOS 运行器上可用的 Xamarin SDK 版本的完整列表,请参阅 README 文件,了解要在 GitHub Actions 运行器映像存储库中使用的 macOS 版本。
先决条件
建议基本了解 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
操作。