Skip to content

fix: add detailed error capture for Windows cjbind test #35

fix: add detailed error capture for Windows cjbind test

fix: add detailed error capture for Windows cjbind test #35

Workflow file for this run

name: Test
on:
push:
branches: ["master"]
jobs:
build:
strategy:
matrix:
os:
- runner: "ubuntu-24.04"
sys: "linux"
- runner: "ubuntu-24.04-arm"
sys: "linux"
- runner: "macos-15"
sys: "darwin"
- runner: "windows-2025"
sys: "windows"
shell: "powershell"
- runner: "windows-2025"
sys: "windows"
shell: "pwsh"
mirror: ["", "--mirror"]
fail-fast: false
runs-on: ${{ matrix.os.runner }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Cangjie
uses: Zxilly/setup-cangjie@v2
with:
channel: "nightly"
version: "1.1.0-alpha.20260107020002"
- name: Test unix install
if: matrix.os.sys != 'windows'
run: |
chmod +x public/install.sh
bash public/install.sh ${{ matrix.mirror }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Test windows install
if: matrix.os.sys == 'windows'
run: |
${{ matrix.os.shell }} -File public/install.ps1 ${{ matrix.mirror }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Test cjbind (Windows - with error capture)
if: matrix.os.sys == 'windows'
run: |
Write-Host "Testing cjbind installation..."
Write-Host "Executable path: $env:USERPROFILE\.cjpm\bin\cjbind.exe"
# Check if file exists
if (Test-Path "$env:USERPROFILE\.cjpm\bin\cjbind.exe") {
Write-Host "File exists, size: $((Get-Item "$env:USERPROFILE\.cjpm\bin\cjbind.exe").Length) bytes"
} else {
Write-Host "ERROR: File not found!"
exit 1
}
# Try to run with error capture
try {
$output = & cjbind --version 2>&1
Write-Host "Output: $output"
if ($LASTEXITCODE -ne 0) {
Write-Host "ERROR: Exit code $LASTEXITCODE"
Write-Host "Checking dependencies with dumpbin..."
if (Get-Command dumpbin -ErrorAction SilentlyContinue) {
dumpbin /dependents "$env:USERPROFILE\.cjpm\bin\cjbind.exe"
}
exit $LASTEXITCODE
}
} catch {
Write-Host "EXCEPTION: $_"
Write-Host "Exception Type: $($_.Exception.GetType().FullName)"
Write-Host "Exception Message: $($_.Exception.Message)"
exit 1
}
- name: Test cjbind (Unix)
if: matrix.os.sys != 'windows'
run: |
cjbind --version