Objective
Harden the GitHub Actions trust boundary for self-hosted Office smoke execution. This issue owns CI-runner safety and orchestration only; it does not own the xlsx-win runtime architecture tracked in #33–#39.
Scope
- use a protected GitHub Environment for Office execution
- require explicit approval for fork pull requests and changes to Office harness/runtime code
- separate a trusted base-branch harness from pull-request-produced fixtures and artifacts
- prefer an ephemeral or resettable Windows VM runner
- minimize credentials, mounted data, and outbound network access
- verify test-package hashes before execution
- standardize Word, PowerPoint, and Excel result artifacts
- verify generic Office process cleanup after every run
- preserve safe manual and
/office-smoke triggering
Non-goals
Relationship to Excel runtime roadmap
This issue supplies the GitHub Actions execution boundary required by the self-hosted portions of #39. The Excel runtime, worker protocol, certification content, and release gates remain owned by #33–#39.
Acceptance criteria
- pull-request code cannot execute directly on a long-lived Office runner without protected approval
- the trusted harness is sourced from a protected revision
- downloaded test inputs are hash-verified
- runner credentials and local data are isolated from test code
- each Office application emits an independent machine-readable result
- all owned Office processes are cleaned up or explicitly reported
- fork pull requests and harness changes require explicit approval
Follow-up to PR #40.
Objective
Harden the GitHub Actions trust boundary for self-hosted Office smoke execution. This issue owns CI-runner safety and orchestration only; it does not own the
xlsx-winruntime architecture tracked in #33–#39.Scope
/office-smoketriggeringNon-goals
Relationship to Excel runtime roadmap
This issue supplies the GitHub Actions execution boundary required by the self-hosted portions of #39. The Excel runtime, worker protocol, certification content, and release gates remain owned by #33–#39.
Acceptance criteria
Follow-up to PR #40.