You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(secrets): address Rust PR review feedback on #624
- `is_direct_match`: return `false` (not `markers.is_empty()`) for the
marker-less case. The previous code returned `true` for 0 markers,
which would misclassify a non-ado-aw definition as `Direct` if any
future caller hit that path. Belt-and-braces — the current callsite
in `classify_definition` already guards against it.
- `discovered_to_matched`: doc-comment claimed `UnknownRequiredParams`
was propagated; implementation drops it. Keep the safer drop
behaviour (we can't act on a marker-less definition) but surface a
`warn!` summary from `resolve_definitions_via_discovery` so
`secrets set --all-repos` operators can see when pipelines were
skipped because of required-template-parameters / 403 / other
preview failures. Doc comment updated to match.
- `AdoContext::repo_url`: percent-encode `project` and `repo_name` so
`DiscoveryScope::CurrentRepo` works for projects whose names contain
reserved characters (e.g. spaces). The lowercase normalize step
can't reconcile a decoded local name with the encoded form ADO
returns in `repository.url`.
- `AdoAwMarkerExtension`: bash-quote-escape the source path embedded
in the runtime `echo` line. A markdown filename containing `'`
(e.g. `agents/foo's.md`) would otherwise produce syntactically
broken bash. New `bash_single_quote_escape` helper applies the
canonical `'\''` idiom; the JSON marker line keeps the raw value
because JSON has no quoting concern with `'`. Two new tests cover
the idiom and a `foo's-agent.md` path.
- `src/detect.rs`: drop the now-stale `#[allow(dead_code)]` attrs on
`MARKER_STEP_PREFIX`, `MarkerMetadata`, and `parse_marker_step`.
All three are actively consumed by `src/ado/discovery.rs`.
- `resolve_for_command`: thread local-lock-file paths into discovery
so the `process.yamlFilename` fast-path can skip Preview calls for
locally-compiled pipelines. Best-effort scan — failures fall back
to Preview-for-everything cleanly.
All 1741 tests pass; clippy clean on touched files.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
0 commit comments