~ knotless Search/
↑↓ move↵ open⇧↵ all results

chadtmiller.com/knotless

git that lives in your Atmosphere account

knotless.dev
1 collaborator

knotless 0.13.0 Latest 2 packages, 1 image

1
10

knotless-run: merge queue batches skip workflows by the push trigger's paths

Closed
Closed chadtmiller.com opened this issue 0 comments
area/runner

A batch's workflows are chosen by on.pull.base, but whether each is skipped is decided by wf.skipped(pull, …) with pull = subject.pull.is_some() (crates/knotless-run/src/lib.rs around line 1231). A batch has no pull, so it is filtered by on.push.paths (crates/knotless/src/workflow.rs, Workflow::skipped).

So a workflow with paths only under pull (as web, lexicons and shots have here) runs on every batch, and one whose push.paths differ from its pull.paths is skipped or run by the wrong list. It errs on the side of running, so nothing unchecked lands, but batches run more than they need to.

Expected: a batch is a candidate for pulls, so filter it by on.pull.paths against what the batch changes from its base.

Found while writing the runner's design docs.