Repository navigation
[MrBot] Enforce c-build-tools GitHub Actions gitlink parity - #470
Parth Aggarwal (parth21999) wants to merge 5 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: abfe1ed1-d850-4e1e-b9e8-0a5aa16e4cee
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
/azp run Azure-C-Build-Tools-Gate |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
Require the exact Azure deps/c-build-tools gitlink, leave Azure DevOps resources untouched, and preserve quotes and comments during validation fixes and propagated dependency updates. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 515afe3e-e331-436e-b7c5-1423b037fff3
|
/azp run Azure-C-Build-Tools-Gate |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
Parse YAML comments without truncating valid hash-bearing Git refs, discover composite actions in hidden directories, and run propagation regressions under both PowerShell runtimes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 515afe3e-e331-436e-b7c5-1423b037fff3
|
/azp run Azure-C-Build-Tools-Gate |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
why is there so much diff? can this be done in a more stable way? #Closed Refers to: repo_validation/src_rust/src/checks/c_build_tools_ref.rs:2 in e50af62. [](commit_id = e50af62, deletion_comment = False) |
Remove deprecated propagation changes, retain standalone gitlink regressions, and replace handwritten YAML parsing with structure-aware source-span edits. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 515afe3e-e331-436e-b7c5-1423b037fff3
|
🤖 MrBot: Addressed #470 (comment) in 75defc3: replaced the handwritten YAML scanner with Saphyr structure-aware parsing and literal source-span edits, reducing the validator from 653 to 340 lines including unit tests. Fixes replace only ref bytes, not serialized YAML, so quotes/comments/Unicode/CRLF remain unchanged; unsafe nonliteral fixes fail explicitly. Restored baseline fixture names and removed all deprecated |
|
/azp run Azure-C-Build-Tools-Gate |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
Drop the saphyr dependency and keep master's Azure DevOps ref logic unchanged; add line-based uses: pin checks, a gitlink-only SHA lookup for them, and compact tests. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 515afe3e-e331-436e-b7c5-1423b037fff3
|
[MrBot] Addressed #470 (comment) in c45e62a. |
|
/azp run Azure-C-Build-Tools-Gate |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
Summary
c_build_tools_refso everyuses: Azure/c-build-tools/...@<ref>in.github/workflows/and in compositeaction.yml/action.yamlfiles (including hidden directories such as.ci/) must pin the exact SHA of thedeps/c-build-toolsgitlink (mode 160000) inHEAD.--fixrewrites only the ref text, preserving quotes, comments, line endings and#inside refs such asrefs/heads/feature#1.deps/c-build-toolssubmodule or gitlink, and fix mode still fails. Repositories with neither refs nor the submodule pass.resources.repositoriesref validation is unchanged. Workflow templates, non-composite action metadata and commented-out lines are ignored.Minimal-diff revision
Cargo.tomlandCargo.lockmatchmaster.uses:lines are scanned line by line, like the existing ADO check.c_build_tools_ref.rsis an additive change (+121/-12);master's ADO logic is untouched apart from sharing the file walk.update_depschanges; propagating the pin on dependency updates is tracked by the separate EBS task.Validation
validate_c_build_tools_ref_testandvalidate_c_build_tools_ref_failures_test: 2/2 passed (existing ADO fixtures plus new GitHub clean, detection and fix targets, and the real-git test).test_gitlink_parity.ps1(real git, no SHA override) passes under PowerShell 7 and Windows PowerShell 5.1. It fails as expected when#is treated as the end of a ref or when the gitlink mode check is removed.Rollout note
.github/workflow-templates/two-human-reviewers.caller.ymlships with@master. Consumers that deployed it will need to run validation with fix mode, or pin the SHA, once they pick up this check.