ci: replace pull_request_target demo-video flow - #206
Draft
samcday wants to merge 2 commits into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
pull_request_targetto read-onlypull_requestruns, removing the unsafe fork-head checkout and theci-okgatetest-recordingsMP4 artifact with 30-day retention/demo-videosmaintainer commandThe command workflow is 359 lines. This is the compact rewrite of the initial 740-line version: it keeps the trust boundary and drops the defensive state machine, ownership markers, run-attempt bookkeeping, repeated probes, and duplicate validation.
This replaces the flow currently failing on #205 after
actions/checkoutbegan refusing fork code in a privilegedpull_request_targetrun.Validation
pull_requestrun passed build, Clippy, formatting, Wayland tests, and raw recording uploadtest-recordingsartifact (1.8 MB)yqparses all four touched workflowsactionlintpasses forbuild.yml,build-image.yml, anddemo-videos.ymlzizmor --offline .github/workflows/demo-videos.yml: no findingsbash -nand warning-level ShellCheckgit diff --checkrelease.ymlstill has its two pre-existing ShellCheck findings (SC2129/SC2209); this change does not add any there.Review / rollout notes
GitHub only loads an
issue_commentworkflow from the default branch, so this PR can validate the ordinary PR build but cannot exercise/demo-videosend-to-end on itself. The first meaningful integration test is a command on an open PR after merge.Because the default branch still contains the old trigger, pushes to this transition PR also launch a
pull_request_targetrun. The shared concurrency group cancels it, leaving canceled red entries beside the passing replacement run. That overlap disappears once this lands.B2 objects use the dedicated immutable
ci-previews/v1/prefix. The application key should be bucket/prefix-limited, and the bucket needs an explicit lifecycle choice: indefinite retention preserves old PR comments; finite retention bounds storage.A PR changing
.github/Dockerfilewill need its matching CI image built manually throughbuild-image.yml.