Problem
The agentics-maintenance.yml workflow generated by gh aw compile hardcodes runs-on: ubuntu-slim (and ubuntu-latest for the validate_workflows job) across all jobs. There is no way to configure the runner label via the gh-aw config.
Since this file is auto-generated (by pkg/workflow/maintenance_workflow.go) and explicitly says DO NOT EDIT, any manual change to runs-on is overwritten the next time gh aw compile runs.
Impact
Organizations using self-hosted runners are forced to consume GitHub-hosted runner minutes for every scheduled and on-demand maintenance run. With the default schedule of every 2 hours, this adds up to significant unnecessary cost — especially for teams that already have idle self-hosted capacity.
Expected behavior
Allow users to configure the runs-on value for the maintenance workflow, e.g. via a top-level config field like:
maintenance:
runs-on: [self-hosted, linux]
…or a global runs-on override that applies to all generated workflows.
Current workaround
None that survives recompilation. Manually editing the generated file is overwritten by gh aw compile.
Environment
- gh-aw version: v0.68.3
- Generated by:
pkg/workflow/maintenance_workflow.go
Problem
The
agentics-maintenance.ymlworkflow generated bygh aw compilehardcodesruns-on: ubuntu-slim(andubuntu-latestfor thevalidate_workflowsjob) across all jobs. There is no way to configure the runner label via the gh-aw config.Since this file is auto-generated (by
pkg/workflow/maintenance_workflow.go) and explicitly saysDO NOT EDIT, any manual change toruns-onis overwritten the next timegh aw compileruns.Impact
Organizations using self-hosted runners are forced to consume GitHub-hosted runner minutes for every scheduled and on-demand maintenance run. With the default schedule of every 2 hours, this adds up to significant unnecessary cost — especially for teams that already have idle self-hosted capacity.
Expected behavior
Allow users to configure the
runs-onvalue for the maintenance workflow, e.g. via a top-level config field like:…or a global
runs-onoverride that applies to all generated workflows.Current workaround
None that survives recompilation. Manually editing the generated file is overwritten by
gh aw compile.Environment
pkg/workflow/maintenance_workflow.go