game-ci / steam-deploy

Github Action to deploy a game to Steam
MIT License
229 stars 65 forks source link

No permission to access /usr/bin/tar on subsequent deploys #64

Open Honeybunch opened 1 year ago

Honeybunch commented 1 year ago

Bug description When deploying to steam from linux the action fails unless run from a fresh environment

How to reproduce

Instead I get this log:

Downloading ...
Extracting ...
/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C steamcmd -f /home/runner/runner0/_work/_temp/steamcmd_linux.tar.gz
/usr/bin/tar: linux32/steamerrorreporter: Cannot open: Permission denied
/usr/bin/tar: linux32/libstdc++.so.6: Cannot open: Permission denied
/usr/bin/tar: linux32/crashhandler.so: Cannot open: Permission denied
/usr/bin/tar: Exiting with failure status due to previous errors
Error: Error: The process '/usr/bin/tar' failed with exit code 2

Expected behavior

The subsequent build succeeds

Additional details

The only workaround for this I have found is to destroy the entire _work directory for the runner and trigger the build & deploy again. Again, any deploy made after a successful deploy will fail due to a permission error with tar; I imagine it's a file locking problem.

I thought this may have been caused by me not having my runners running under a user named "runner" but I have since corrected that since it seems one of the scripts in this action expects that and I'm still running into this problem. Could WSL2 be causing a problem here?

I have another set of runners on the same machine running under windows and they have no problems. I also have an m1 mac mini running a couple self hosted runners and they also have no issues.