diff --git a/opa/opa_test.go b/opa/opa_test.go index 391114c..5e8889c 100644 --- a/opa/opa_test.go +++ b/opa/opa_test.go @@ -114,6 +114,9 @@ func TestJobUsesSelfHostedRunner(t *testing.T) { cases := map[string]bool{ "ubuntu-latest": false, "ubuntu-22.04": false, + "ubuntu-22.04-arm": false, + "ubuntu-24.04-arm": false, + "ubuntu-26.04-arm": false, "ubuntu-20.04": false, "ubuntu-slim": false, "macos-latest-large": false, @@ -131,6 +134,8 @@ func TestJobUsesSelfHostedRunner(t *testing.T) { "windows-latest": false, "windows-2022": false, "windows-2019": false, + "windows-11-arm": false, + "windows-11-vs2026-arm": false, "self-hosted": true, "random-name": true, } diff --git a/opa/rego/poutine/utils.rego b/opa/rego/poutine/utils.rego index 9b0ba65..b38b25b 100644 --- a/opa/rego/poutine/utils.rego +++ b/opa/rego/poutine/utils.rego @@ -45,7 +45,7 @@ job_uses_self_hosted_runner(job) if { run_on := job.runs_on[_] not contains(run_on, "$") # skip expressions not regex.match( - "(?i)^((ubuntu-(([0-9]{2})\\.04|latest(-(4|8|16)-cores)?|slim)|macos-([0-9]{2}|latest)(-x?large)?|windows-(20[0-9]{2}|latest(-8-cores)?)|(buildjet|warp)-[a-z0-9-]+))$", + "(?i)^((ubuntu-(([0-9]{2})\\.04(-arm)?|latest(-(4|8|16)-cores)?|slim)|macos-([0-9]{2}|latest)(-x?large)?|windows-(20[0-9]{2}|latest(-8-cores)?|11(-vs[0-9]{4})?-arm)|(buildjet|warp)-[a-z0-9-]+))$", run_on, ) } else := false