Add logic to Auto-Signoff open-api-specs with trivial changes#38744
Add logic to Auto-Signoff open-api-specs with trivial changes#38744AkhilaIlla merged 59 commits intomainfrom
Conversation
Next Steps to MergeNext steps that must be taken to merge this PR:
Comment generated by summarize-checks workflow run. |
.github/workflows/src/arm-auto-signoff/trivial-changes-check.js
Outdated
Show resolved
Hide resolved
.github/workflows/src/arm-auto-signoff/trivial-changes-check.js
Outdated
Show resolved
Hide resolved
.github/workflows/src/arm-auto-signoff/arm-auto-signoff-code.js
Outdated
Show resolved
Hide resolved
|
This PR is getting difficult to review, since it combines file moves/renames with code changes. I will create another PR will just the moves/renames, we can merge first, to make it easier to see the actual code changes in your PR. #Resolved |
…into ailla/auto_signoff_trivial_changes merge master
.github/workflows/src/arm-auto-signoff/arm-auto-signoff-status.js
Outdated
Show resolved
Hide resolved
.github/workflows/src/arm-auto-signoff/arm-auto-signoff-code.js
Outdated
Show resolved
Hide resolved
.github/workflows/src/arm-auto-signoff/arm-auto-signoff-status.js
Outdated
Show resolved
Hide resolved
…into ailla/auto_signoff_trivial_changes merge master
…into ailla/auto_signoff_trivial_changes Merge master
* Add logic to auto-signoff open-api-specs with trivial changes * Updates based on comments, Refactor trivial check * Fix references with file move * Fix invalid chars in upload artifact step * Fix tests * Address comments, Add more tests * whitespace * minor changes based on comments * rename step * Revert workflow title * Revert workflow title * revert step title * Refcatoring based on comments * fix missing token error * resolve merge conflict * Delete documentation/trivial-changes-auto-signoff.md * remove unhelpful comment * revert names * whitespace * ARM auto-signoff: trivial changes + managed label actions * formatting * yaml: "if" before "name" * Refactor dryrun mode and just add trivial-test label, Update PRChanges output to include RM specific fields vs other * Refactor, updates based on PR comments * Refactor pr-changes from struct to class, update the use cases, tests * Refactor naming, Fix lint errors * Fix prettier errors * Fix prettier errors, Refactor trivial changes, minor updates * Fix prettier failures * Update log statements, Fix auto sign off label list * Update trivial changes logic to evaluate functional changes * Remove updated timeouts in test * Updates made to address feedback * Fix prettier issue * fix space * fix prettier issue --------- Co-authored-by: akhilailla <akhilailla@microsoft.com> Co-authored-by: Mike Harder <mharder@microsoft.com>
| return { | ||
| incremental: incrementalTypeSpecResult, | ||
| trivial: isTrivial, | ||
| }; |
There was a problem hiding this comment.
Hi @AkhilaIlla , @mikeharder , @raosuhas, could the incremental TypeSpec detection be extended to support PRs that only modify .tsp files?
Currently, arm-incremental-typespec.js maps changed files to spec directories using only swagger(), example() and readme() filters, so .tsp-only PRs always result in an empty changedSpecDirs and return false. This means TypeSpec-only changes to an existing TypeSpec RP can't receive ARMAutoSignedOff-IncrementalTSP and must wait for manual ARM review.
Adding .tsp files (via the existing typespec() filter) to the changedSpecDirs computation would address this, and the existing base-branch check (verifying TypeSpec-generated swagger already exists) would still guard against false positives.
This would significantly reduce review wait times for teams working in TypeSpec. We recently migrated from raw swagger to TypeSpec, and we're working on refactoring the tsp files to resolve some FIXMEs left by the auto conversion tool. These updates will not alter the generated swagger, ensuring we don't introduce any unintended changes. For instance, this is PR #40221, along with the current outcome from 'Checking for incremental TypeSpec changes'.
2026-02-09T02:57:36.268Z simple-git [GitExecutor] [SPAWN] git [ 'diff', '--name-status', 'HEAD^', 'HEAD' ]
Could not map changed files to any spec directories
Incremental TypeSpec result: false
Created an issue #40384 to track this and thanks for considering!
This is a WIP PR that implements automatic detection of trivial changes (documentation, examples, non-functional JSON)
to enable auto sign-off and reduce manual review overhead for low-risk changes.
What Changed
New Features
Files Modified
.github/workflows/src/trivial-changes-check.js- Core detection logic.github/workflows/test/trivial-changes-check.test.js- Test suitearm-incremental-typespec.yaml→arm-auto-signoff-analysis.yamlarm-auto-signoff.js- New label types and human-label protectionarm-auto-signoff.yaml- Enhanced workflow orchestrationTrivial Changes Detected
.mdfiles) →ARMAutoSignedOff-Trivial/examples/*.json) →ARMAutoSignedOff-TrivialARMAutoSignedOff-TrivialARMAutoSignedOff-IncrementalTSP