Skip to content

[P1][Windows] PowerShell 5.1 installer의 UTF-8 파싱 및 SHA-256 계산 실패 수정 #2

Description

@leehyowon14

요약

현재 install.ps1은 UTF-8 BOM이 없어 Windows PowerShell 5.1에서 -File로 실행할 때 한국어 문자열이 잘못 디코딩됩니다. BOM만 추가해도 해당 CI 환경에서는 Get-FileHash를 찾지 못해 설치가 다시 실패합니다.

  • 검토 기준: main@4e87765f95c106edb3c956cfad2abc1db64c0c39
  • 판정: CONFIRMED
  • 우선순위: P1

영향

README가 Windows PowerShell 5.1 이상을 지원한다고 안내하지만, 해당 환경에서 installer가 파싱 또는 체크섬 계산 단계에서 종료됩니다.

발생 조건 및 확인 범위

  • Windows Server 2025 GitHub-hosted runner의 powershell.exe에서 확인했습니다.
  • PowerShell 7 전체가 동일하게 실패한다는 의미는 아닙니다.
  • BOM만 반영한 중간 커밋에서는 Get-FileHash 의존성 문제가 별도로 재현됐습니다.
  • 두 문제를 수정하는 PR #1이 열려 있으나 draft이며 main에는 미반영입니다.

재현 및 검증 방법

  1. 현재 main에서 Windows CI의 TestInstallPowerShellFromReleaseFixture를 실행합니다.
  2. BOM이 없을 때 Unexpected token, The string is missing the terminator 오류를 확인합니다.
  3. BOM만 추가한 상태에서 Get-FileHash is not recognized 오류를 확인합니다.

기대 동작

Windows PowerShell 5.1과 PowerShell 7에서 installer가 동일한 UTF-8 소스를 해석하고, 선택적 PowerShell module에 의존하지 않고 SHA-256을 검증해야 합니다.

완료 조건

  • install.ps1이 Windows PowerShell 5.1용 UTF-8 BOM을 유지한다.
  • SHA-256 계산이 Get-FileHash 가용성에 의존하지 않거나 안전한 fallback을 제공한다.
  • BOM 존재 여부를 자동 테스트한다.
  • Windows PowerShell 5.1 installer 통합 테스트가 통과한다.
  • Linux, macOS, Windows 및 vet/race CI가 모두 통과한다.

관련 코드

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions