Repository navigation
Conversation
Under ADR-0313 a check that does not report on a pull request counts as passed, turning a too-narrow paths: filter into a silent bypass. bindings/rust/vmafx-sys/build.rs compiles C headers from core/include/libvmaf/libvmaf.h via bindgen, but .github/workflows/rust-ci.yml previously filtered only on bindings/rust/**, core/src/feature/rust/**, Cargo.*, and deny.toml. Consequently, changes touching public C library headers silently bypassed vmafx-sys CI and cargo-deny despite altering code compiled during the Rust FFI build. Fix this by: - Adding "core/include/libvmaf/**" to on.push.paths and on.pull_request.paths in .github/workflows/rust-ci.yml. - Adding "core/include/libvmaf/*" and "core/include/libvmaf/**" to selectors.rust.patterns in .github/ci-impact.json. - Adding regression workflow contract tests in scripts/ci/tests/test_rust_ci_workflow_contract.py. - Adding regression routing test test_libvmaf_public_header_change_selects_rust_and_c_core to scripts/ci/tests/test_ci_impact.py. - Documenting the CI trigger requirement in bindings/rust/vmafx-sys/AGENTS.md, research digest 2080, rebase notes, and changelog fragment. - Updating docs/state.md to move T-PATH-FILTERS-WEAKEN-NEW-GATES-2026-09-22 to Recently closed. Closes BUG-098.
Contributor
Author
|
Superseded by #1561 (squash dd51d00). Instead of adding core/include/libvmaf/** to the Rust workflow's path filter, the train removed workflow-level path filters from all seven affected workflows; rust-ci.yml now runs on every PR through the ADR-1140 impact planner, and .github/ci-impact.json routes core/include/libvmaf/** to the Rust lane. docs/state.md records BUG-098 / T-PATH-FILTERS-WEAKEN-NEW-GATES-2026-09-22 as fixed. This branch's commit 9f72ec3 is therefore obsolete, not lost. |
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
Under ADR-0313 a check that does not report on a pull request counts as passed, which turned
.github/workflows/rust-ci.yml's too-narrowpaths:filter into a silent bypass.bindings/rust/vmafx-sys/build.rscompiles C headers fromcore/include/libvmaf/libvmaf.hviabindgen, butrust-ci.ymlpreviously filtered only onbindings/rust/**,core/src/feature/rust/**,Cargo.*, anddeny.toml. This PR addscore/include/libvmaf/**to workflow path filters and CI impact selectors, accompanied by workflow contract and impact routing regression tests.Type
feat— new featurefix— bug fixperf— performance improvementrefactor— no behavior changedocs— documentation onlytest— test-onlybuild/ci— tooling / infraport— cherry-pick from upstream Netflix/vmafsycl/cuda/simd— backend-specificChecklist
make format && make lintis green locally.meson test -C build./cross-backend-diffand the worst ULP is ≤ 2..c/.cpp/.cu/.h/.hpp, it has the appropriate license header (seeCONTRIBUTING.md).!orBREAKING CHANGE:and the migration path is documented below.docs/adr/_index_fragments/<NNNN-slug>.mdand the slug is appended todocs/adr/_index_fragments/_order.txt— do not editdocs/adr/README.mddirectly (regenerated byscripts/docs/concat-adr-index.sh; see ADR-0221).Bug-status hygiene (ADR-0165)
docs/state.mdupdated in this PR with a rowin the appropriate section (Open / Recently closed / Confirmed
not-affected / Deferred), OR
no state delta: REASON.Netflix golden-data gate (ADR-0024)
assertAlmostEqual(...)score in the Netflix golden Python tests.Cross-backend numerical results
Deep-dive deliverables (ADR-0108)
docs/research/2080-rust-ci-path-filter-coverage.mdwritten and linked.docs/research/2080-rust-ci-path-filter-coverage.md§3.AGENTS.mdinvariant note — added tobindings/rust/vmafx-sys/AGENTS.md.changelog.d/fixed/rust-ci-path-filter-libvmaf-headers.md.docs/rebase-notes.mdunderfix/rust-ci-path-filters.Reproducer
# Proves red before fix: python3 -m unittest scripts/ci/tests/test_rust_ci_workflow_contract.py python3 -m unittest scripts/ci/tests/test_ci_impact.py -k test_libvmaf_public_header_change_selects_rust_and_c_coreKnown follow-ups
This PR resolves only the confirmed Rust CI blind spot. Canonical
BUG-098remains open until the residual path-filter audit covers FFmpeg, container, Doxygen, and Intel LLVM workflows.