Skip to content

Windows runners

Windows runners are available in beta since v2.4.0.

They start more slowly than Linux runners (~2min currently), and are not yet 1-1 compatible with the official GitHub Actions Windows runners. But we will get there.

RunsOn Windows runners are ~10x cheaper than the official GitHub Actions Windows runners (m7i family).

To use them, you need to reference the Windows 2022 base image and an instance family that supports Windows:

jobs:
build:
runs-on:
- runs-on=${{ github.run_id }}
- image=windows22-base-x64
- family=m7i
- ...other labels...

Example

name: Windows
on:
workflow_dispatch:
jobs:
default:
runs-on:
- runs-on=${{ github.run_id }}
- image=windows22-base-x64
- family=m7i
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Check current dir and env variables
run: |
dir .
echo $env:USERNAME
echo $env:RUNS_ON_RUNNER_NAME
- name: Logs
run: |
Get-Content -Path "C:\runs-on\output.log"
- name: Users
run: |
Get-LocalUser | Format-Table -AutoSize Name,Enabled,PasswordLastSet

Inspecting agent logs

On Windows runners, the output of the RunsOn agent is stored in the C:\runs-on\output.log file.

Limitations

  • Windows runners are not yet 1-1 compatible with the official GitHub Actions Windows runners.
  • Windows runners are quite slow to boot (~2min currently).
  • preinstall in custom images is not supported yet.