55 branches :
66 - main
77 tags :
8- - ' v* '
8+ - " v* "
99 workflow_dispatch :
1010
1111permissions :
12- contents : write # needed to create releases
12+ contents : write # needed to create releases
1313
1414jobs :
1515 assemble_driver :
@@ -29,24 +29,53 @@ jobs:
2929 run : |
3030 TAG=${GITHUB_REF_NAME}
3131 mkdir -p steamvr_zip/rayneo/bin/win64 steamvr_zip/rayneo/bin/linux64
32+
33+ # Copy driver manifest with fallbacks from artifacts
3234 if [ -f openvr_driver/driver.vrdrivermanifest ]; then
3335 cp openvr_driver/driver.vrdrivermanifest steamvr_zip/rayneo/
3436 else
35- echo "Manifest missing"; ls -l openvr_driver || true
37+ echo "Manifest missing in repo, trying artifacts..."
38+ MANIFEST_PATH=$(find dist -type f -name driver.vrdrivermanifest -print -quit 2>/dev/null || true)
39+ if [ -n "$MANIFEST_PATH" ]; then
40+ cp "$MANIFEST_PATH" steamvr_zip/rayneo/
41+ echo "Copied manifest from $MANIFEST_PATH"
42+ else
43+ echo "Manifest missing everywhere"; ls -l openvr_driver || true
44+ fi
3645 fi
46+
47+ # Windows DLL: try expected path, then search broadly in artifacts
3748 if [ -f dist/openvr-driver-windows-latest/rayneo/bin/win64/driver_rayneo.dll ]; then
3849 cp dist/openvr-driver-windows-latest/rayneo/bin/win64/driver_rayneo.dll steamvr_zip/rayneo/bin/win64/driver_rayneo.dll
3950 else
40- WIN_DLL=$(find dist/openvr-driver-windows-latest -type f -name driver_rayneo.dll -print -quit 2>/dev/null || true)
51+ WIN_DLL=$(find dist -type f -name driver_rayneo.dll -print -quit 2>/dev/null || true)
52+ if [ -z "$WIN_DLL" ]; then
53+ # as a last resort, accept any driver DLL variant name
54+ WIN_DLL=$(find dist -type f -name 'driver_*.dll' -print -quit 2>/dev/null || true)
55+ fi
4156 if [ -n "$WIN_DLL" ]; then
4257 cp "$WIN_DLL" steamvr_zip/rayneo/bin/win64/driver_rayneo.dll || echo "Copy win64 failed"
58+ echo "Copied Windows driver from $WIN_DLL"
4359 else
44- echo "Windows driver dll not found; tree:"; ls -R dist/openvr-driver-windows-latest || true
60+ echo "Windows driver dll not found; dist tree:"
61+ ls -R dist/openvr-driver-windows-latest 2>/dev/null || ls -R dist || true
4562 fi
4663 fi
47- if [ -d dist/openvr-driver-ubuntu-latest/rayneo/bin/linux64 ]; then
64+
65+ # Linux SO: try expected path, then search broadly in artifacts
66+ if [ -f dist/openvr-driver-ubuntu-latest/rayneo/bin/linux64/driver_rayneo.so ]; then
4867 cp dist/openvr-driver-ubuntu-latest/rayneo/bin/linux64/driver_rayneo.so steamvr_zip/rayneo/bin/linux64/ || echo "Linux64 driver missing"
68+ else
69+ LINUX_SO=$(find dist -type f -name driver_rayneo.so -print -quit 2>/dev/null || true)
70+ if [ -n "$LINUX_SO" ]; then
71+ cp "$LINUX_SO" steamvr_zip/rayneo/bin/linux64/driver_rayneo.so || echo "Copy linux64 failed"
72+ echo "Copied Linux driver from $LINUX_SO"
73+ else
74+ echo "Linux driver .so not found; dist tree:"
75+ ls -R dist/openvr-driver-ubuntu-latest 2>/dev/null || ls -R dist || true
76+ fi
4977 fi
78+
5079 (cd steamvr_zip && zip -r steamvr_rayneo_driver-${TAG}.zip rayneo)
5180 mkdir -p dist/steamvr_driver
5281 cp steamvr_zip/steamvr_rayneo_driver-${TAG}.zip dist/steamvr_driver/
77106 if : startsWith(matrix.os, 'windows')
78107 uses : actions/setup-node@v4
79108 with :
80- node-version : ' 20.x'
109+ node-version : " 20.x"
81110 # Using setup-node to ensure Git is modern; vcpkg bootstrap uses Git.
82111 - name : Bootstrap vcpkg (Windows)
83112 if : startsWith(matrix.os, 'windows')
0 commit comments