-
-
Notifications
You must be signed in to change notification settings - Fork 446
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Container action is only supported on Linux #40
Comments
Thank you for raising this. I wasn't aware that it doesn't work on Mac OSX and Windows. I will look into this and see if it's feasible to make it multi-platform. |
Thanks @peter-evans PS. thanks for a great Action |
Confirmed that, currently, container actions only work on Linux virtual environments. The only way to make Mac OSX and Windows actions right now is a new Javascript actions format that was introduced with Actions v2. The options currently are very limited and Actions are still not GA yet, so I imagine that there are more features coming to support other platforms. This action can be made usable very easily if either:
I will reach out to GitHub support and try and find out what direction they are likely to take in the near future. By the way, I should point out that the majority of the actions currently on the Marketplace are container based actions because they were written during the Actions v1 beta when that was the only option. So none of those will work on Mac OSX and Windows either. Update: I've discovered a way to make this action work on all three platforms without needing to rewrite it completely. Working on a test release. |
I've released a beta version of the multi-platform action. Please test it out. - name: Create Pull Request
uses: peter-evans/create-pull-request@v1.3.1-multi
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @rogchap I've added an extra parameter I'm not sure what direction GitHub are going to take in the future to support multi-platform actions. I will probably leave the original action and multi platform action implementations separate until it becomes clear. |
Thanks for jumping on this so fast @peter-evans I will give the update a try and provide feedback. thanks again. |
@rogchap I'm going to close this issue for now. If you have any problems with the |
No worries @peter-evens; I haven’t had a chance to test yet; but will. |
@peter-evans how exactly did you make this work? I made an action myself 2 days ago using an old v1 action as a guide to add more features to it and would like to fix this same issue. |
Hi @AraHaan
Is it a container-based action? If so, you still can't use container-based actions cross-platform. They only work on linux VMs. The only solution that I know of is to convert the action to Javascript. |
Welp that would be hard as it is in using this code atm https://github.com/Elskom/merge-dependabot/blob/main/entrypoint.sh I did try on my project having it use linux however .NET Core does not like building a project that imports the WindowsDesktop SDK on linux. 💯 |
If a complete rewrite to Javascript/Typescript is not feasible, the only other suggestion I have is to make a Javascript wrapper action which executes whatever tooling you need to run. For an example of what I mean, see python-action, which is a wrapper around executing Python in a cross-platform way. That's how I originally made this action work cross-platform, but eventually I just rewrote it from scratch. |
So basically to make an |
@peter-evans so what do I do to make the setup-ruby into an single js file? |
Multiple versions of Ruby are available in the GitHub Actions tool-cache. So all These two lines are finding the version in the cache and building the correct path to the binary. If you run these when your action starts you should have a path to the Ruby binary that you can call to execute your script. |
It the version identifier still 1.3.1-multi?
|
@peter-evans it is possible to have javascript bootstrap the python code to the action itself and act as an proxy (I would totally do that if I plan to eventually write my github action in .NET). |
@simondelphia This is an old issue and |
Seems then the reason why I was getting this error was actually because of swift-package-dependencies-check which I was trying to use together with this one. I assumed this PR action was the reason for the error but when I removed the pull request step I still got the same error. The logs made it unclear which one was causing the problem before that. Thank you! |
This action only works on linux due to it using a docker container.
Would be good if this action could work for Mac OSX and Windows too, but I guess this would mean moving away from a docker implementation.
At very least (although does not work for me) call this out in the README that only Linux is supported.
The text was updated successfully, but these errors were encountered: