Documentation Index
Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
Use this file to discover all available pages before exploring further.
Devin prend en charge Windows comme plateforme pour les builds et les sessions. Les environnements Windows utilisent le même shell bash (Git Bash) que Linux ; la plupart des commandes de blueprint fonctionnent donc sur les deux plateformes sans modification.
La prise en charge de Windows est actuellement disponible de façon limitée. Si vous souhaitez essayer Windows avec Devin, veuillez nous contacter pour en savoir plus et obtenir un accès.
La prise en charge de Windows repose sur le même système de configuration déclarative que Linux. La principale différence réside dans le champ runs-on de votre blueprint, qui indique à Devin sur quelle plateforme effectuer le build et l’exécution.
Comme les deux plateformes utilisent bash, vous pouvez écrire les mêmes commandes shell sur Linux et sur Windows. Les principales différences concernent l’organisation du système de fichiers et les gestionnaires de paquets disponibles :
| Aspect | Linux (par défaut) | Windows |
|---|
| Répertoire personnel | /home/ubuntu | /c/Users/Administrator |
| Répertoire du repo | ~/repos/<repo-name> | /c/Users/Administrator/repos/<repo-name> |
| Gestionnaire de paquets | apt-get | choco, winget ou des installateurs directs |
Créer des blueprints Windows
Si votre dépôt cible uniquement Windows, utilisez runs-on: windows au niveau racine :
runs-on: windows
initialize:
- name: "Install Node.js"
uses: github.com/actions/setup-node@v4
with:
node-version: "20"
- name: "Install build tools"
run: |
choco install visualstudio2022buildtools -y
choco install python --version=3.12 -y
maintenance: |
npm install
knowledge:
- name: lint
contents: npm run lint
- name: test
contents: npm test
- name: build
contents: npm run build
Pour effectuer le build du même dépôt sous Linux et Windows, utilisez le format YAML à plusieurs blocs. Chaque bloc déclare son propre libellé runs-on :
- runs-on: default
initialize: |
curl -LsSf https://astral.sh/uv/install.sh | sh
apt-get update && apt-get install -y build-essential
maintenance: |
uv sync
knowledge:
- name: test
contents: uv run pytest
- runs-on: windows
initialize: |
choco install python --version=3.12 -y
maintenance: |
uv sync
knowledge:
- name: test
contents: uv run pytest
Chaque bloc produit un build du snapshot distinct pour sa plateforme. Les sessions démarrent depuis le snapshot propre à la plateforme.
Le champ runs-on correspond à une configuration de machine enregistrée sur votre compte :
| Valeur | Plateforme |
|---|
default ou linux | Linux (plateforme par défaut) |
windows | Windows |
Vous pouvez spécifier runs-on sous forme de chaîne ou de liste :
# Plateforme unique
runs-on: windows
# Plusieurs plateformes dans un même bloc (les mêmes commandes s'exécutent sur chacune)
runs-on: [default, windows]
Lorsqu’un bloc énumère plusieurs plateformes, le système de build crée un snapshot par plateforme en exécutant les mêmes commandes.
Avec la syntaxe de liste, les mêmes commandes sont exécutées sur chaque plateforme de la liste. Utilisez-la uniquement lorsque les commandes sont réellement multiplateformes (p. ex., npm install, uv sync). Pour les commandes spécifiques à une plateforme (comme apt-get sur Linux ou choco sur Windows), utilisez plutôt le format multi-bloc — un bloc par plateforme.
Comportement des sessions sous Windows
Les sessions Windows utilisent Git Bash comme shell par défaut — le même shell Bash que sous Linux. La syntaxe Bash standard fonctionne sur les deux plateformes :
- run: |
export MY_VAR="hello"
echo $MY_VAR
Sous Windows, les chemins utilisent le format Git Bash (/c/... au lieu de C:\...) :
# Chemins Linux
- run: cp config.json ~/.config/myapp/config.json
# Chemins Windows (format Git Bash)
- run: cp config.json /c/Users/Administrator/.config/myapp/config.json
Les secrets sont disponibles sous forme de variables d’environnement durant les sessions, via la syntaxe bash standard ($SECRET_NAME) :
maintenance:
- name: "Configure registry"
run: |
npm config set //registry.npmjs.org/:_authToken $NPM_TOKEN
Sous Windows, les fichiers importés sont enregistrés dans /c/Users/Administrator/.files/ au lieu de /home/ubuntu/.files/.
Conseils pour Blueprint sous Windows
Utilisez choco (Chocolatey), winget ou des scripts de téléchargement directs :
initialize:
- name: "Install Chocolatey packages"
run: |
choco install git -y
choco install nodejs-lts -y
choco install python --version=3.12 -y
- name: "Install with winget"
run: |
winget install --id Microsoft.DotNet.SDK.8 --accept-source-agreements --accept-package-agreements
Projet .NET :
runs-on: windows
initialize:
- name: "Install .NET SDK"
run: |
winget install --id Microsoft.DotNet.SDK.8 --accept-source-agreements --accept-package-agreements
maintenance: |
dotnet restore
knowledge:
- name: build
contents: dotnet build
- name: test
contents: dotnet test
- name: lint
contents: dotnet format --verify-no-changes
Projet Visual Studio / C++ :
runs-on: windows
initialize:
- name: "Install Visual Studio Build Tools"
run: |
choco install visualstudio2022buildtools -y
choco install visualstudio2022-workload-vctools -y
maintenance: |
msbuild /t:Restore MySolution.sln
knowledge:
- name: build
contents: msbuild MySolution.sln /p:Configuration=Release
- name: test
contents: vstest.console.exe bin/Release/Tests.dll