Objective
Fix the pr_runs_on_self_hosted poutine warning in smoke-copilot-arm where a PR-triggered workflow runs on a self-hosted ARM runner, as reported in discussion #18283.
Context
The smoke-copilot-arm workflow is triggered by pull requests and runs on a self-hosted ubuntu-24.04-arm runner. This is a security concern because fork PRs can execute untrusted code on self-hosted infrastructure, potentially compromising the runner or extracting secrets.
- Tool: poutine
- Severity: Warning
- Affected file:
.github/workflows/smoke-copilot-arm.md (compiles to line 278 in .lock.yml)
- Runner:
ubuntu-24.04-arm (self-hosted)
Approach
Option A (Preferred): Add an environment protection rule that requires approval before the self-hosted runner job executes for PR workflows:
- In the
.github/workflows/smoke-copilot-arm.md frontmatter, add an environment field to the job that uses the self-hosted runner
- Configure a GitHub environment (e.g.,
arm-runner) with required reviewers so fork PRs don't auto-execute
Option B: Restrict the workflow to only run on PRs from the same repository (not forks):
# In the workflow trigger
on:
pull_request:
# Restrict to non-fork PRs only
Or add a job condition:
if: github.event.pull_request.head.repo.full_name == github.repository
Option C: Switch to a GitHub-hosted ARM runner if available (ubuntu-24.04-arm as a hosted runner)
- Open
.github/workflows/smoke-copilot-arm.md
- Locate where
runs-on: ubuntu-24.04-arm is set
- Apply the chosen fix
- Run
make recompile
- Run
make agent-finish
Files to Modify
.github/workflows/smoke-copilot-arm.md — add environment protection or fork restriction
Acceptance Criteria
Generated by Plan Command for issue #discussion #18283
Objective
Fix the
pr_runs_on_self_hostedpoutine warning insmoke-copilot-armwhere a PR-triggered workflow runs on a self-hosted ARM runner, as reported in discussion #18283.Context
The
smoke-copilot-armworkflow is triggered by pull requests and runs on a self-hostedubuntu-24.04-armrunner. This is a security concern because fork PRs can execute untrusted code on self-hosted infrastructure, potentially compromising the runner or extracting secrets..github/workflows/smoke-copilot-arm.md(compiles to line 278 in.lock.yml)ubuntu-24.04-arm(self-hosted)Approach
Option A (Preferred): Add an environment protection rule that requires approval before the self-hosted runner job executes for PR workflows:
.github/workflows/smoke-copilot-arm.mdfrontmatter, add anenvironmentfield to the job that uses the self-hosted runnerarm-runner) with required reviewers so fork PRs don't auto-executeOption B: Restrict the workflow to only run on PRs from the same repository (not forks):
Or add a job condition:
Option C: Switch to a GitHub-hosted ARM runner if available (
ubuntu-24.04-armas a hosted runner).github/workflows/smoke-copilot-arm.mdruns-on: ubuntu-24.04-armis setmake recompilemake agent-finishFiles to Modify
.github/workflows/smoke-copilot-arm.md— add environment protection or fork restrictionAcceptance Criteria
make recompilesucceedsmake agent-finishpassespr_runs_on_self_hostedfor this workflow