Skip to content

Merge pull request #35 from gomlx/fix-notimplemented #156

Merge pull request #35 from gomlx/fix-notimplemented

Merge pull request #35 from gomlx/fix-notimplemented #156

name: "Tests(windows/amd64)"
permissions:
# read|write|none
actions: read
checks: read
contents: write
deployments: read
# id-token: read --> doesn't work
issues: read
discussions: read
packages: read
pages: read
pull-requests: write
repository-projects: read
security-events: read
statuses: read
on:
push:
branches: [main]
pull_request:
branches: [main]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
test:
runs-on: windows-latest
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: "1.26.x"
- name: "Diagnostic: Check CPU Features"
run: |
echo "Checking CPU for AVX-512 support..."
powershell -Command "Get-CimInstance Win32_Processor | Select-Object -ExpandProperty Caption"
# Check for AVX-512 explicitly via PowerShell
powershell -Command "if ((Get-WmiObject Win32_Processor).Caption -match 'AVX512') { echo 'AVX-512 Detected' } else { echo 'AVX-512 NOT supported' }"
- name: Test with AutoInstall CPU PJRT plugin
run: |
go test ./compute/xla -test.v -test.count=1
- name: "Diagnostic: Debug DLL Imports"
if: failure()
run: |
# Find where the DLL was installed (usually ~/AppData/Local/go-xla)
DLL_PATH="${HOME}/AppData/Local/go-xla/pjrt_c_api_cpu_plugin.dll"
if [ -f "$DLL_PATH" ]; then
echo "Analyzing $DLL_PATH"
# Use dumpbin (available on windows-latest) to see what DLLs are missing
# If any DLL says "NOT FOUND", that is your culprit.
dumpbin /DEPENDENTS "$DLL_PATH"
else
echo "DLL not found at $DLL_PATH"
fi
- name: Install PJRT plugin
run: |
(cd ./cmd/pjrt_installer && go work init && go work use . '..\..' && go install .)
export CPU_VERSION="$(sed -n 's/.*var DefaultCPUVersion = "\(.*\)".*/\1/p' ./internal/utils/utils.go)"
env GH_TOKEN=$GH_TOKEN $(go env GOPATH)/bin/pjrt_installer -plugin cpu -version "${CPU_VERSION}" -path '~\AppData\Local\go-xla'
echo "Contents for go-xla:"
ls -la "${HOME}/AppData/Local/go-xla"
echo "-----------"
echo
- name: Test
run: |
go test ./...