fix: Windows 러너 첫 단계 bash 의존 제거 + 필수 설치 목록 보완

Windows 호스트 러너에서 bash.exe 는 기본 PATH 에 없다 (Git for Windows 는
Git\cmd 만 PATH 에 등록하고 bash.exe 는 Git\bin 에 있다). OS 확인 단계가
첫 스텝이라 러너를 붙이자마자 "bash not found" 로 죽는다. pwsh 로 바꿨다.

같은 이유로 문서 설치 목록에 Git.Git 과 Microsoft.PowerShell 을 추가했다.
나머지 7개 스텝이 전부 pwsh(7.x) 를 쓰는데 Windows 기본 탑재는 5.1 뿐이라
pwsh 없이는 단계마다 실패한다.

트리거 설명도 실제 on: 설정(main push / workflow_dispatch)에 맞춰 고쳤다.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
EJClaw
2026-09-23 03:21:27 +09:00
parent 4af97a68f2
commit bef9eaf19b
2 changed files with 23 additions and 8 deletions

View File

@@ -1,6 +1,6 @@
# Windows 검증 — Gitea Actions
#
# 이 저장소에 push 하면 Windows 러너가 자동으로
# main 에 push 하거나 Actions 탭에서 수동 실행하면 Windows 러너가 자동으로
# 1) 테스트를 돌리고
# 2) 포터블 exe 를 빌드하고
# 3) 앱이 실제로 뜨는지 확인한 뒤
@@ -25,15 +25,21 @@ jobs:
# Gitea 는 runs-on 이 어떤 러너 라벨과도 안 맞으면 작업을 실패시키지 않고
# 기본 ubuntu 컨테이너에서 돌린다. 라벨을 잘못 등록하면 Windows 검증이
# 조용히 리눅스에서 돌아가 "통과했다"는 착각을 준다. 그래서 먼저 막는다.
#
# bash 가 아니라 pwsh 를 쓴다. Windows 에 Git Bash 가 깔려 있어도
# bash.exe 는 기본 PATH 에 없어서 (Git\cmd 만 등록된다) 첫 단계부터
# "bash not found" 로 죽는다. 라벨을 잘못 걸어 리눅스 컨테이너로
# 떨어진 경우에는 pwsh 가 없어서 역시 실패하므로, 어느 쪽이든
# 조용히 통과하는 일은 없다.
- name: Windows 에서 돌고 있는지 확인
shell: bash
shell: pwsh
run: |
echo "RUNNER_OS=$RUNNER_OS"
if [ "$RUNNER_OS" != "Windows" ]; then
echo "::error::Windows 러너가 아닙니다 ($RUNNER_OS)."
echo "::error::러너를 'windows:host' 라벨로 등록했는지 확인하세요."
Write-Host "RUNNER_OS=$env:RUNNER_OS"
if ($env:RUNNER_OS -ne "Windows") {
Write-Host "::error::Windows 러너가 아닙니다 ($env:RUNNER_OS)."
Write-Host "::error::러너를 'windows:host' 라벨로 등록했는지 확인하세요."
exit 1
fi
}
- name: 소스 받기
uses: actions/checkout@v4

View File

@@ -4,7 +4,8 @@
오디오 캡처, 전역 단축키, 모니터 열거, exe 빌드가 전부 여기에 해당합니다.
그래서 "리눅스에서 다 통과했는데 윈도우에서 안 되더라"가 나올 수 있습니다.
Windows 러너를 하나 붙이면 push할 때마다 이 경로들이 자동으로 검증됩니다.
Windows 러너를 하나 붙이면 `main` 에 push할 때(또는 Actions 탭에서 수동
실행할 때) 이 경로들이 자동으로 검증됩니다.
## 무엇이 자동으로 확인되나
@@ -30,11 +31,19 @@ Windows 러너를 하나 붙이면 push할 때마다 이 경로들이 자동으
### 1. 필요한 것 설치
```powershell
winget install Git.Git # 소스 받기 (checkout) 에 필요
winget install Microsoft.PowerShell # 워크플로가 pwsh 7 을 씁니다
winget install Python.Python.3.12
winget install Kitware.CMake
winget install Microsoft.VisualStudio.2022.BuildTools # C++ 데스크톱 워크로드 선택
```
`Git.Git` 과 `Microsoft.PowerShell` 은 빠뜨리기 쉬운데 둘 다 필수입니다.
Git 이 없으면 소스를 못 받고, Windows 에 기본으로 깔린 PowerShell 은 5.1 이라
워크플로가 쓰는 `pwsh`(7.x) 가 없으면 단계마다 실패합니다.
설치 후 새 PowerShell 창을 열어 `git --version`, `pwsh --version` 이
나오는지 확인하세요.
### 2. Gitea 러너 내려받기
<https://gitea.com/gitea/act_runner/releases> 에서