Open Vivraan opened 3 years ago
Thank you @Vivraan for this valuable feedback.
I agree we should add a section about self-hosted runners, and expected capabilities, which simply put is ubuntu, and the configuration the same as default runners. What other information would you expect to find on this page?
I think the biggest problem with Windows specifically would be doubling the code for things like file paths and other OS specific things. In practice it wouldn't be too hard to support Windows at all, as the action is mostly a bootstrapper that mounts a container.
Looking forward to hear your thoughts on this.
I agree we should add a section about self-hosted runners, and expected capabilities, which simply put is ubuntu, and the configuration the same as default runners. What other information would you expect to find on this page?
Perhaps a clarifying link to the config of default runners would suffice.
I think the biggest problem with Windows specifically would be doubling the code for things like file paths and other OS specific things. In practice it wouldn't be too hard to support Windows at all, as the action is mostly a bootstrapper that mounts a container.
What would be required for the action to run on Ubuntu or a supported distro through WSL (apart from the custom setup without systemd
)? Can it be done in a sane way?
We should also consider the case of macOS and other Linux distros.
Where can I change the OS specific stuff? I'll need to take a look at the docs, in case I can make time for contributing! - but no guarantees. Looks to me like we'll just need to add a .bat
or .ps1
script for Windows.
Perhaps a clarifying link to the config of default runners would suffice.
Sounds good, lets do that.
What would be required for the action to run on Ubuntu or a supported distro through WSL (apart from the custom setup without systemd)? Can it be done in a sane way?
As far as I understand if it uses the shell all commands should work. The only thing that needs to happen is for the linux check to be removed I think.
For MacOS I expect it to work out of the box, unless paths differ, which I don't think they do for Unity, but i'm not sure.
Since actions require either a Docker or a Nodejs entrypoint, I don't see why we would need any shell scripts like a ps1
. Perhaps I'm missing something?
Since the action is based on Nodejs I don't think there's a need for any powershell. Most should work out of the box. Perhaps just have a look at the source of the action, specifically entrypoint.sh
and the src
folder. The code should be self documenting.
For MacOS I expect it to work out of the box, unless paths differ, which I don't think they do for Unity, but i'm not sure.
If I understood correctly, you're asking if the Application.persistentDataPath
differs for macOS, which indeed does: https://docs.unity3d.com/2018.4/Documentation/ScriptReference/Application-persistentDataPath.html
What I said there is irrelevant.
Since actions require either a Docker or a Nodejs entrypoint, I don't see why we would need any shell scripts like a
ps1
. Perhaps I'm missing something?Since the action is based on Nodejs I don't think there's a need for any powershell. Most should work out of the box. Perhaps just have a look at the source of the action, specifically
entrypoint.sh
and thesrc
folder. The code should be self documenting.
If we don't work with WSL, we can't use bash
scripts, which is why I brought up batch and powershell scripting. Otherwise, we should have no problems with just bash
scripts.
However, I should be clarifying that we need to do this for all the actions, so I'll change the title of the issue to match.
From what I found in the entrypoint.sh
files in Unity request activation file and Unity activate the path separators aren't important. Let's go through the other actions and find usages of OS specific paths.
Btw an assistance question: how would I publish the output of the Build action under the Releases tab?
Would you like to answer this part of the issue in Unity Actions instead?
Perhaps a clarifying link to the config of default runners would suffice.
Found this from the logs form GitHub Actions: https://github.com/actions/virtual-environments/blob/ubuntu18/20200920.1/images/linux/Ubuntu1804-README.md
I am gonna leave our custom setup here as a reference for other people trying to get theirs up to speed. It works out of the box with Linux (we use Debian). The Windows setup was a bit of a stretch though. Our Windows Server is managed by Proxmox and enabling Hyper-V resulted in the server refusing to start. Because of that, we build the docker containers ourselves as part of the workflow run on Windows as the offical ones require a different Windows version.
hello running into issues trying to do this on a windows self hosted runner; any updates on this??
soecifically for unity 23.... the docker images are no longer valid in the above workflow as it fails finding them
What do you do specifically? I had to select the appropriate windows docker base images depending on the version
Is your feature request related to a problem? Please describe. Currently afaik Windows and other OSs are unsupported so I can't use a self-hosted runner without knowing about the capabilities expected by this action (or I need to install Ubuntu beside Windows on my system which may be undesirable unless the GitHub self-hosted runner application works through WSL, which is harder to set up than on a Linux distro which supports
systemd
).Describe the solution you'd like A description page which provides clear information on what configuration is expected from a machine which shall run this action.
Describe alternatives you've considered The only other alternative is to go into the repo and dive into the code to find what capabilities are expected.
Additional context When I first tried running the Activation action using
windows-latest
I was greeted with an error which read something likewin32 is not supported
.