Skip to content

Commit 3794e4d

Browse files
committed
try and fix perms
Signed-off-by: Simon Davies <[email protected]>
1 parent 728db5f commit 3794e4d

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

.github/workflows/dep_rust.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,57 @@ jobs:
6161
env:
6262
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6363

64+
- name: Setup hypervisor device access
65+
if: runner.os == 'Linux' && matrix.hypervisor == 'kvm'
66+
run: |
67+
echo "=== Setting up hypervisor device access ==="
68+
echo "Current user: $(whoami)"
69+
echo "User ID and groups: $(id)"
70+
echo ""
71+
72+
# Check initial device state
73+
echo "Initial device state:"
74+
ls -la /dev/kvm 2>/dev/null || echo "kvm device not found initially"
75+
echo ""
76+
77+
# Check and setup KVM group access
78+
if getent group kvm >/dev/null 2>&1; then
79+
echo "✅ KVM group exists"
80+
echo "Adding user $(whoami) to kvm group..."
81+
sudo usermod -a -G kvm $(whoami)
82+
else
83+
echo "⚠️ KVM group doesn't exist, creating it..."
84+
sudo groupadd kvm || echo "Failed to create kvm group"
85+
sudo usermod -a -G kvm $(whoami) || echo "Failed to add user to kvm group"
86+
fi
87+
echo ""
88+
89+
# Trigger udev processing to create devices
90+
echo "Triggering udev device processing..."
91+
sudo udevadm control --reload-rules
92+
sudo udevadm trigger --subsystem-match=misc
93+
sudo udevadm settle
94+
echo ""
95+
96+
# Create new shell session to pick up group membership
97+
echo "Refreshing group membership..."
98+
exec sg kvm newgrp $(id -gn) || echo "Could not refresh group membership"
99+
echo ""
100+
101+
echo "User group membership:"
102+
groups || echo "Could not determine group membership"
103+
echo ""
104+
105+
echo "Device access test:"
106+
if [ -e /dev/kvm ]; then
107+
if timeout 5 test -r /dev/kvm -a -w /dev/kvm; then
108+
echo "✅ /dev/kvm is accessible (rw access confirmed)"
109+
else
110+
echo "❌ /dev/kvm is not accessible (rw access failed)"
111+
fi
112+
else
113+
echo "❌ /dev/kvm device not present"
114+
fi
64115
- name: fmt
65116
run: just fmt-check
66117

0 commit comments

Comments
 (0)