Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create GitHub actions that use powershell scripts

Tags:

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:

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?

like image 601
jjmerelo Avatar asked Dec 04 '19 20:12

jjmerelo


People also ask

Can I use PowerShell in GitHub?

PowerShell script is not certified by GitHub.

What are the two types of GitHub actions?

Types of actions. You can build Docker container and JavaScript actions.


1 Answers

You could also run docker directly with an entrypoint for the .ps1 script

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.

like image 188
Peter Kay Avatar answered Oct 02 '22 12:10

Peter Kay