I had to demo the Flyway Autopilot system recently and created a GitHub Actions runner as a part of that. This post documents how this went.
First, if you go to the settings in a repo and click the Actions area, you see a Runners item. Click that. Notice I have no runners.
In the upper right corner, I can click a button to create one.
This gives me the instructions to get a new one. Note, these are PowerShell commands, and the first command doesn’t quite work right. Still, this is what I need.
I opened a CMD window and stared running these. Note, I need to repeat the change directory.
Now start PowerShell as the next commands are PoSh ones. When I copy the next command, it starts downloading a zip file. As of this writing, this is a 600-ish MB file.
Once this is done, you can run the next commands, which unzip and configure this. For the config, I just hit enter as I don’t have multiple groups or tags, and I leave it named as my machine. I also don’t bother to run this as a service.
The last command runs the runner agent.
If I go back to the Runner screen in Settings, I see I have an idle agent set up.
And that’s it. If I pick one of my workflows in the Actions tab, I can run it and I’ll see the job started in my runner folder. Here are my actions with the Run workflow button on the right.
If I click this, I see the job start in the CLI.
If I get back to the Actions, I’ll see things in progress. As you can see, I was slow here.
That’s about it. Now I can run local automations in my repo that connect to things like local databases, which can be handy.
Video Walkthrough
I’ve got a video of this process if you want to watch it.