paperclip/tests
Dotta 6e50ca9d0a
ci(runner): prepare target lockfile once for paid validation (#12774)
## Thinking Path

> - The trusted target-branch runner workflow checks out PR code before
paid tests.
> - PR policy intentionally forbids manual lockfile commits.
> - Some runner changes legitimately alter pnpm patch hashes.
> - Frozen installs therefore fail before test selection.
> - Resolve one script-disabled lockfile from the authorized immutable
target SHA and distribute it by exact artifact ID and digest.
> - Keep provider credentials and trusted reporting outside this
resolution job.

## Linked Issues or Issue Description

Target-branch paid runner campaigns currently fail frozen install when a
PR changes pnpm patch content, even though ordinary PR CI regenerates
the lockfile.

## What Changed

- Added one credential-free target-lock job that resolves the authorized
immutable target SHA with lifecycle scripts disabled.
- Uploaded the resolved lockfile with its SHA-256 and restored it by
exact artifact ID before every target-code frozen install.
- Left trusted reporting and history jobs on the workflow SHA.
- Changed the disabled-AWS fallback from unavailable ubuntu-latest-m to
ubuntu-latest.

## Risks

The workflow evaluates pnpm lockfile resolution from authorized target
code. That job receives no provider credentials, disables lifecycle
scripts, rejects unrelated workspace mutations, and exposes only a
digest-verified lockfile artifact. Paid-secret jobs consume only that
lockfile after exact artifact-ID and SHA-256 validation.

## Verification

- Runner workflow-security focused tests pass.
- actionlint passes.
- Prettier and git diff checks pass.

## Model Used

OpenAI Codex, GPT-5.

## Checklist

- [x] Change is narrowly scoped to paid runner orchestration.
- [x] Target lock resolution has no provider credentials and disables
lifecycle scripts.
- [x] Downloaded artifacts are selected by exact artifact ID and
verified by SHA-256.
- [x] Trusted reporting and history jobs remain on the workflow SHA.
2026-09-03 12:39:18 -05:00
..
canary-onboarding fix(onboarding): preserve draft through company refetch (#12735) 2026-09-02 16:50:15 -05:00
e2e feat(ui): add streamlined navigation foundation (#12746) 2026-09-02 23:55:43 -07:00
perf/issue-detail Keep browser startup explicitly opt-in (#12435) 2026-08-29 12:08:35 -05:00
release-smoke Follow the current onboarding arc in the release smoke (#12423) 2026-08-28 07:21:08 -07:00
runner-acceptance test(runner): add credential-free acceptance foundation (#12652) 2026-09-01 04:46:04 -05:00
runner-e2e ci(runner): prepare target lockfile once for paid validation (#12774) 2026-09-03 12:39:18 -05:00
storybook-visual fix(ui): keep new task dialog visible above mobile keyboard (#11281) 2026-08-12 11:49:05 -04:00