@@ -34,18 +34,23 @@ jobs:
3434 run : pnpm install
3535
3636 - name : Run core tests (excluding shell integration)
37- run : pnpm test --exclude= "**/shell-integration.test.ts"
37+ run : pnpm vitest run --exclude "**/shell-integration.test.ts"
3838
3939 shell-tests :
4040 name : Shell Tests (${{ matrix.shell }} on ${{ matrix.os }})
4141 strategy :
4242 matrix :
4343 shell : [bash, zsh, fish, powershell]
44- os : [ubuntu-latest, macos-latest]
44+ os : [ubuntu-latest, macos-latest, windows-latest ]
4545 exclude :
4646 # PowerShell installation can be flaky on macOS in CI
4747 - shell : powershell
4848 os : macos-latest
49+ # Some shells are not easily available on Windows
50+ - shell : zsh
51+ os : windows-latest
52+ - shell : fish
53+ os : windows-latest
4954 runs-on : ${{ matrix.os }}
5055
5156 steps :
9499 ;;
95100 esac
96101
97- - name : Verify shell installation
102+ - name : Install shell dependencies (Windows)
103+ if : matrix.os == 'windows-latest'
104+ shell : pwsh
105+ run : |
106+ # Windows specific shell setup
107+ switch ("${{ matrix.shell }}") {
108+ "bash" {
109+ # Git for Windows includes bash
110+ if (!(Get-Command git -ErrorAction SilentlyContinue)) {
111+ choco install git -y
112+ }
113+ Write-Host "Bash available via Git for Windows"
114+ }
115+ "powershell" {
116+ # PowerShell is already installed on Windows
117+ Write-Host "PowerShell already available"
118+ }
119+ default {
120+ Write-Host "Shell ${{ matrix.shell }} not supported on Windows"
121+ }
122+ }
123+
124+ - name : Verify shell installation (Unix)
125+ if : matrix.os != 'windows-latest'
98126 run : |
99127 case "${{ matrix.shell }}" in
100128 bash)
@@ -111,6 +139,22 @@ jobs:
111139 ;;
112140 esac
113141
142+ - name : Verify shell installation (Windows)
143+ if : matrix.os == 'windows-latest'
144+ shell : pwsh
145+ run : |
146+ switch ("${{ matrix.shell }}") {
147+ "bash" {
148+ bash --version
149+ }
150+ "powershell" {
151+ pwsh --version
152+ }
153+ default {
154+ Write-Host "Verification not needed for ${{ matrix.shell }} on Windows"
155+ }
156+ }
157+
114158 - name : Install pnpm
115159116160
0 commit comments