Fix : widows giea 2
This commit is contained in:
@@ -199,9 +199,23 @@ jobs:
|
||||
- name: Valider la syntaxe du script d'installation
|
||||
shell: powershell
|
||||
run: |
|
||||
$path = (Resolve-Path 'deploy/install-agent.ps1').Path
|
||||
|
||||
# Le script doit rester en ASCII pur. Il est publié sans BOM et exécuté
|
||||
# par PowerShell 5.1, qui relit alors le fichier dans la page de codes
|
||||
# ANSI. Au-delà de l'affichage abîmé, certains caractères cassent le
|
||||
# parseur : le tiret cadratin (E2 80 94) se relit en CP1252 comme « — »,
|
||||
# dont le dernier caractère est U+201D — un délimiteur de chaîne valide
|
||||
# en PowerShell. La chaîne se ferme en plein milieu et l'erreur signalée
|
||||
# est une accolade manquante, des lignes plus loin.
|
||||
$bad = [System.IO.File]::ReadAllBytes($path) | Where-Object { $_ -gt 127 }
|
||||
if ($bad) {
|
||||
throw "install-agent.ps1 doit rester en ASCII : $($bad.Count) octet(s) hors plage"
|
||||
}
|
||||
|
||||
$errors = $null
|
||||
[System.Management.Automation.Language.Parser]::ParseFile(
|
||||
(Resolve-Path 'deploy/install-agent.ps1'), [ref]$null, [ref]$errors) | Out-Null
|
||||
$path, [ref]$null, [ref]$errors) | Out-Null
|
||||
if ($errors) {
|
||||
$errors | ForEach-Object { Write-Host "$($_.Extent.StartLineNumber): $($_.Message)" }
|
||||
throw "$($errors.Count) erreur(s) de syntaxe dans install-agent.ps1"
|
||||
|
||||
Reference in New Issue
Block a user