Question:
I’d like to create a GitHub action that sets up an environment in Windows, running a few Powershell commands. Despite this can be done easily as a step, there does not seem to be a way to create a complete GitHub action for that. If I use this:
1 2 3 4 5 6 7 |
name: 'Rakudo Star fix for windows' description: 'Updates zef for RakudoStar' author: 'JJ' runs: using: 'node12' main: 'upgrade.ps1' |
There does not seem a way to run anything other than a JS script, or even to declare the environment. I understand that’s left for later, during the job steps, but anyway it looks like a hack. Is there anything I’m missing here?
Answer:
You could also run docker directly with an entrypoint for the .ps1 script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
FROM ubuntu:18.04 LABEL "com.github.actions.name"="test" LABEL "com.github.actions.description"="test." RUN apt-get update \ && apt-get install wget -y \ && wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb \ && dpkg -i packages-microsoft-prod.deb \ && apt-get update \ && apt-get install -y powershell ADD test.ps1 /test.ps1 ENTRYPOINT ["pwsh", "/test.ps1"] |
Update:
The using
field is the application to use to execute the code specified in main
. But Github Actions only support using node12
and docker
. As seen from this GHActions I just ran for example’s sake.
Docker won’t run in most Windows environment and you’d have to use Windows Server 2019 as your base environment.