[THROWAWAY PROBE] P2.1 validate lane — docs-only skip - #850
Closed
brandom-msft wants to merge 11 commits into
Closed
[THROWAWAY PROBE] P2.1 validate lane — docs-only skip#850brandom-msft wants to merge 11 commits into
brandom-msft wants to merge 11 commits into
Conversation
…lf-test Ports the private ADO DetectChanges stage to a GH-Actions-native detector: changed files under samples/ resolve to their nearest ancestor sample.yaml dir, deduped into a set exposed as job outputs (has_changes/count/samples) for needs.*.outputs consumption. Fail-loud on git diff error (ADO 5247751); empty set = docs-only short-circuit. Single deduped set instead of per-language has_<lang> booleans (language derived from path at fan-out). Sibling hermetic harness (git-only) + inert selftest workflow (contents:read, no secrets/OIDC, no on:paths). Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 441d830f-ce1e-4ebf-bdbf-cdf84cafef1f
…s the step's output file The unit harness invokes the detector ~10x and asserts on stdout; on a runner each call was appending has_changes/count/samples to the real \, which GitHub then rejected. Unset it in the harness — the GITHUB_OUTPUT emission is proven separately by the detect->consume plumbing job. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 441d830f-ce1e-4ebf-bdbf-cdf84cafef1f
grep -c on an empty file prints 0 AND exits 1, so the '|| echo 0' fallback double-printed, making COUNT=\
…est-effort fetch) Non-behavioral: adds a Known-limitations comment block above resolve_base_ref capturing the three faithful-port characteristics surfaced in the P1.2 Chapter-1 walkthrough (two-dot PR diff, HEAD~1 final-transition-only on push, best-effort fetch staleness). No logic change to the frozen DetectChanges port. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 441d830f-ce1e-4ebf-bdbf-cdf84cafef1f
One-page companion to detect-changed-samples.sh: the five-move flow, the fail-loud rule, the input/output contract, the needs.*.outputs wiring note, and the two tracked known-characteristics follow-ups (ADO 5473511, 5473651). Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 441d830f-ce1e-4ebf-bdbf-cdf84cafef1f
pip/npm install failures with positive transport evidence (DNS / connection refused-reset / timeout / registry 5xx) now classify as error (exit 2) instead of failure (exit 1); unaccompanied resolution errors stay failure. Transport evidence wins even when pip prints its misleading 'No matching distribution' line after exhausting retries against an unreachable index. - dep_infra_signature() narrow transport allow-list, routed on the two dedicated install steps only (merged build tools stay failure - documented limit) - CLASSIFICATION.md: exit contract, taxonomy, ambiguity-bias, honest limits - run-tests.sh: real-runner blackhole cases (pip/npm -> error) + hermetic no-index resolution failure (-> fail); new python-deps / typescript-deps fixtures ADO 5449687: https://msdata.visualstudio.com/Vienna/_workitems/edit/5449687 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 6b0ffec6-9f36-4309-80ef-adb79f1de81a
npm install --silent suppresses error output too, so the captured log was empty and dep_infra_signature saw no transport evidence -> blackhole misclassified as fail. Real-runner proof (run 30309241864) caught this: pip cases passed, npm registry-unreachable got fail instead of error. Switch to --no-audit --no-fund --loglevel=error: quiet on success, ECONNREFUSED still emitted and captured. ADO 5449687: https://msdata.visualstudio.com/Vienna/_workitems/edit/5449687 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 6b0ffec6-9f36-4309-80ef-adb79f1de81a
Microsoft Security is blocking direct public-npm access on managed devices (CFS-protected feed); a held package can return 403/blocked, which the 5xx-only allow-list doesn't promote to error. Documented as a v1 honest limit + deferred follow-up. Doc-only; no classifier change (runner-proven behavior is commit 391ba22). ADO 5449687: https://msdata.visualstudio.com/Vienna/_workitems/edit/5449687 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 6b0ffec6-9f36-4309-80ef-adb79f1de81a
Documents that the public-first validation path is already fully GitHub-Actions-native (zero ADO-isms): every UseDotNet@2/UsePythonVersion@0/NodeTool@0/JavaToolInstaller@0/GoTool@0 setup task maps to a pinned setup-* action; cross-job data flows via needs.*.outputs; CheckMailmap + Report/status-posting intentionally dropped; artifact fan-out + aggregation deferred to P2. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a7d3b36b-7970-4500-888e-af959a5a5066
Real PR-triggered floor lane (distinct from the inert self-tests): on: pull_request (never pull_request_target), permissions contents:read only, no environment/secrets. detect-changed-samples.sh finds changed samples in-job; a matrix fans out one runner per sample and validates to L3 via validate-sample.sh, deriving --language from the samples/<dir>/ path. Untrusted fork code runs on a barren runner by design. ADO 5449695 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c4e21e67-bf10-42a8-9e21-98dde95aa89f
Contributor
|
👋 Thanks for your contribution, @brandom-msft! This repository is read-only. If you are contributing on behalf of Microsoft, please submit your PR to the private staging repository instead: See CONTRIBUTING.md for full instructions. |
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.
Throwaway probe: docs-only change. Expect detect has_changes=false and the validate job to skip (empty-matrix guard). Not for merge. ADO 5449695.