Введение
В этом руководстве показано, как создать рабочий процесс, который выполняет непрерывную интеграцию (CI) для вашего проекта Xamarin. Создаваемый рабочий процесс позволит увидеть, когда фиксации в запросе на вытягивание вызывают сбои в сборке или тестировании ветви по умолчанию; этот подход поможет убедиться, что ваш код всегда работоспособен.
Полный список доступных версий пакета SDK Xamarin для GitHub Actions, размещенных в macOS, см. в файле README версии macOS, которую вы хотите использовать в репозитории образов runner GitHub Actions.
Необходимые компоненты
Рекомендуется иметь базовое представление о Xamarin, пакете SDK для .NET Core, YAML, параметрах конфигурации рабочих процессов, а также о том, как создавать файл рабочего процесса. Дополнительные сведения см. в разделе:
Чтобы использовать примеры в руководстве, потребуется репозиторий на GitHub.com. Модули запуска macOS недоступны в поддоменах GHE.com, например octocorp.ghe.com
.
Создание приложений Xamarin.iOS
В приведенном ниже примере показано, как изменить версии пакета SDK для Xamarin по умолчанию и создать приложение 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
В приведенном ниже примере показано, как изменить версии пакета SDK для Xamarin по умолчанию и создать приложение 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
Чтобы использовать предустановленную версию пакета SDK для .NET Core в размещенном в GitHub средстве выполнения, используйте действие setup-dotnet
. Это действие находит определенную версию .NET из кэша инструментов в средстве выполнения и добавляет необходимые двоичные файлы в переменную PATH
. Эти изменения будут сохранены для остальной части задания.
Действие setup-dotnet
представляет собой рекомендуемый способ использования .NET с GitHub Actions, так как он обеспечивает согласованное поведение в разных средствах выполнения и различных версиях .NET. При использовании локального средства выполнения необходимо установить .NET и добавить его в PATH
. Дополнительные сведения см. в описании действия setup-dotnet
.