Introduction
Ce guide explique comment créer un workflow qui effectue une intégration continue (CI) pour votre projet Xamarin. Le workflow que vous créez vous permet de voir à quel moment les commits de demande de tirage (pull request) entraînent des échecs de build ou de test dans votre branche par défaut. Cette approche peut vous aider à garantir l’intégrité de votre code.
Pour obtenir la liste complète des versions du SDK Xamarin disponibles sur les exécuteurs macOS hébergés par GitHub Actions, consultez le fichier README de la version de macOS que vous souhaitez utiliser dans le dépôt GitHub Actions Runner Images.
Prérequis
Il est recommandé d’avoir une compréhension de base de Xamarin, du SDK .NET Core, du YAML, des options de configuration de workflows et de la création de fichiers de workflow. Pour plus d'informations, consultez les pages suivantes :
Pour utiliser les exemples dans le guide, vous aurez besoin d’un référentiel sur GitHub.com. Les runners macOS ne sont pas disponibles sur les sous-domaines de GHE.com, tels que octocorp.ghe.com
.
Création d’applications Xamarin.iOS
L’exemple ci-dessous montre comment modifier les versions du SDK Xamarin par défaut et générer une application 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
Création d’applications Xamarin.Android
L’exemple ci-dessous montre comment modifier les versions du SDK Xamarin par défaut et générer une application 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
Spécification d’une version .NET
Pour utiliser une version préinstallée du SDK .NET Core sur un exécuteur hébergé dans GitHub, utilisez l’action setup-dotnet
. Cette action recherche une version spécifique de .NET à partir du cache d’outils de chaque exécuteur, et ajoute les fichiers binaires nécessaires à PATH
. Ces modifications seront conservées pendant toute la durée du travail.
L’action setup-dotnet
est recommandée pour l’utilisation de .NET avec GitHub Actions, car cela garantit un comportement cohérent sur tous les exécuteurs et toutes les versions de .NET. Si vous utilisez un exécuteur auto-hébergé, vous devez installer .NET et l’ajouter à PATH
. Pour plus d’informations, consultez l’action setup-dotnet
.