shapehq / tartelet

⚙️💻 A macOS app that makes it a breeze to manage multiple GitHub Actions runners in ephemeral virtual machines on a single host machine. The benefits are that runners can run in parallel, and each job runs in an isolated environment.
MIT License
510 stars 17 forks source link

Failed making ephemeral virtual machine, missing permissions #63

Closed antonnyman closed 7 months ago

antonnyman commented 7 months ago

Hi, I'm getting this error when starting the VM's.

Failed making ephemeral virtual machine as resources could not be created: “.Trashes” couldn’t be copied because you don’t have permission to access “runner-1”.

Unsure what needs permission to perform the copy action?

System

Mac mini, M1 2020 macOS Sonoma 14.3.1

antonnyman commented 7 months ago

I deleted Application Support/dk.shape.Tartelet and added the files manually. Now the VM starts (until I close the desktop app). However it seems like the VM can't find /Volumes/My Shared Files/Resources and it will start boot looping.

antonnyman commented 7 months ago

I got it to work by manually creating a Resources folder in Virtual Machine Resources, then while VM booted I copied the generated code to runner-1/Resources/start.command along with the generated files.

To me it seems like there are two issues, the script expects a Resources folder but there is none, and the macOS app doesn't have permission to copy/create certain folders.

Any ideas on where to start on a fix to this?

antonnyman commented 7 months ago

I managed to solve the first issue that resources couldn't be copied. This error went away after I emptied the bin 🤦

Still having an issue that files in runner-1 are copied to the root directory and not runner-1/Resources. Closing this issue and opening a new one.

annuh commented 7 months ago

@antonnyman I'm having the same issues! Did you find a solution for the other issue?

~I've tried to create a new VM using the latest IPSW, maybe that's related..~ No, the original IPSW results in the same issues.

tart create runner --disk-size=120 --from-ipsw=https://updates.cdn-apple.com/2024WinterFCS/fullrestores/052-40770/72916BCC-D357-422D-A4A2-EF1DEDF6968C/UniversalMac_14.3.1_23D60_Restore.ipsw

Error about the missing Resources directory in the VM:

image

Errors about the .Trashes directory:

2024-02-29T12:44:16Z [VirtualMachineResourcesCopier] [Info] Failed removing resources at file:///Users/anne/Library/Application%20Support/dk.shape.Tartelet/runner-1/.Trashes: “.Trashes” couldn’t be removed because you don’t have permission to access it.
2024-02-29T12:44:16Z [VirtualMachineResourcesCopier] [Info] Failed copying resources from file:///Users/anne/Library/Application%20Support/dk.shape.Tartelet/Virtual%20Machine%20Resources/.Trashes/ to file:///Users/anne/Library/Application%20Support/dk.shape.Tartelet/runner-1/.Trashes: “.Trashes” couldn’t be copied because you don’t have permission to access “runner-1”.
2024-02-29T12:44:16Z [EphemeralVirtualMachineFactory] [Error] Failed making ephemeral virtual machine as resources could not be created: “.Trashes” couldn’t be copied because you don’t have permission to access “runner-1”.
2024-02-29T12:44:16Z [VirtualMachineFleetLive] [Error] Could not create virtual machine named runner-1: “.Trashes” couldn’t be copied because you don’t have permission to access “runner-1”.

which could be fixed via sudo rm -rf ~/Library/Application\ Support/dk.shape.Tartelet/Virtual\ Machine\ Resources/.Trashes