A runner is the compute provisioned by GitHub Actions to execute a build. After a push triggers a workflow, the runner checks out the repository, runs the defined steps, and is cleaned up when the build finishes. section 16.1
A typical runner workflow:
- Receives a job from a YAML workflow triggered by a repository change. section 16.1
- Checks out source code and executes the build logic, preferably through portable scripts. section 16.1
- Reports success or failure before being cleaned up and decommissioned. section 16.1
Run a PowerShell build on Ubuntu
A workflow can assign a build job to an Ubuntu runner with `runs-on: ubuntu-latest`, check out the repository, and run `./build.ps1` using the PowerShell shell. section 16.1
Listing 16.3 A simple GitHub workflow to run a PowerShell script
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: build
working-directory: cicd
run: ./build.ps1
shell: pwsh
Use the workflow listing to see how a runner checks out code and invokes the build script. section 16.1

