From f8f9d7c7a99aa8cbb8e57c7a663e50e5fa19eacb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 1 May 2026 16:14:31 +0000 Subject: [PATCH 1/2] Add ARM lease for Microsoft.Luminary/LuminaryInsights Agent-Logs-Url: https://github.com/tejaswiMinnu/azure-rest-api-specs/sessions/f3183df8-db20-4026-8f7e-e466dfbabb21 Co-authored-by: tejaswiMinnu <14865963+tejaswiMinnu@users.noreply.github.com> --- .../luminary/Microsoft.Luminary/LuminaryInsights/lease.yaml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .github/arm-leases/luminary/Microsoft.Luminary/LuminaryInsights/lease.yaml diff --git a/.github/arm-leases/luminary/Microsoft.Luminary/LuminaryInsights/lease.yaml b/.github/arm-leases/luminary/Microsoft.Luminary/LuminaryInsights/lease.yaml new file mode 100644 index 000000000000..b82760c68aa5 --- /dev/null +++ b/.github/arm-leases/luminary/Microsoft.Luminary/LuminaryInsights/lease.yaml @@ -0,0 +1,5 @@ +lease: + resource-provider: Microsoft.Luminary + startdate: "2026-05-01" + duration: P30D + reviewer: "@tejaswiMinnu" From 9fd30f66e6f830ac06ef816e62797845513b9d74 Mon Sep 17 00:00:00 2001 From: Tejaswi Salaigari Date: Tue, 16 Jun 2026 13:27:21 -0500 Subject: [PATCH 2/2] Allow ARM Auto-Signoff for incremental TypeSpec even when NotReadyForARMReview - Remove NotReadyForARMReview check from arm-auto-signoff workflow - Update summarize-checks to respect auto-signoff labels and prevent ping-pong - Add incremental TypeSpec test: department and jobTitle properties --- .github/workflows/arm-auto-signoff-status.yaml | 1 - .../arm-auto-signoff/arm-auto-signoff-status.js | 1 - .../workflows/src/summarize-checks/labelling.js | 17 +++++++++++++++-- .../arm-auto-signoff-status.test.js | 2 +- .../Microsoft.Widget/Widget/employee.tsp | 6 ++++++ 5 files changed, 22 insertions(+), 5 deletions(-) diff --git a/.github/workflows/arm-auto-signoff-status.yaml b/.github/workflows/arm-auto-signoff-status.yaml index e8f183a9776c..e725e4006cc1 100644 --- a/.github/workflows/arm-auto-signoff-status.yaml +++ b/.github/workflows/arm-auto-signoff-status.yaml @@ -49,7 +49,6 @@ jobs: github.event.label.name == 'ARMAutoSignedOff-Trivial' || github.event.label.name == 'ARMReview' || github.event.label.name == 'ARMSignedOff' || - github.event.label.name == 'NotReadyForARMReview' || github.event.label.name == 'SuppressionReviewRequired')) runs-on: ubuntu-slim diff --git a/.github/workflows/src/arm-auto-signoff/arm-auto-signoff-status.js b/.github/workflows/src/arm-auto-signoff/arm-auto-signoff-status.js index 160dc1f7013a..151e5ab12e67 100644 --- a/.github/workflows/src/arm-auto-signoff/arm-auto-signoff-status.js +++ b/.github/workflows/src/arm-auto-signoff/arm-auto-signoff-status.js @@ -157,7 +157,6 @@ export async function getLabelActionImpl({ owner, repo, issue_number, head_sha, const allLabelsMatch = labelNames.includes("ARMReview") && - !labelNames.includes("NotReadyForARMReview") && (!labelNames.includes("SuppressionReviewRequired") || labelNames.includes("Approved-Suppression")); diff --git a/.github/workflows/src/summarize-checks/labelling.js b/.github/workflows/src/summarize-checks/labelling.js index 192ff0a50c1c..d410023da6e5 100644 --- a/.github/workflows/src/summarize-checks/labelling.js +++ b/.github/workflows/src/summarize-checks/labelling.js @@ -659,18 +659,31 @@ function processARMReviewWorkflowLabels( const blocked = blockedOnRpaas || blockedOnVersioningPolicy || blockedOnArmModeling; + // Check if ARM auto-signoff workflow has determined the PR qualifies for auto sign-off. + // If so, respect that decision and don't remove ARMSignedOff even when blocked. + // This prevents ping-pong between arm-auto-signoff and summarize-checks workflows. + const hasAutoSignedOffLabels = + labelContext.present.has("ARMAutoSignedOff") || + labelContext.present.has("ARMAutoSignedOff-IncrementalTSP") || + labelContext.present.has("ARMAutoSignedOff-Trivial"); + + const autoSignedOff = hasAutoSignedOffLabels && armSignedOffLabel.present; + // If given PR is in scope of ARM review and it is blocked for any reason, // the "NotReadyForARMReview" label should be present, to the exclusion // of all other ARM review workflow labels. - notReadyForArmReviewLabel.shouldBePresent = armReviewLabelShouldBePresent && blocked; + // Exception: If auto-signoff has determined the PR qualifies, ARMSignedOff takes precedence. + notReadyForArmReviewLabel.shouldBePresent = + armReviewLabelShouldBePresent && blocked && !autoSignedOff; // If given PR is in scope of ARM review and the review is not blocked, // then "ARMSignedOff" label should remain present on the PR if it was // already present. This means that labels "ARMChangesRequested" // and "WaitForARMFeedback" are invalid and will be removed by automation // in presence of "ARMSignedOff". + // Also preserve ARMSignedOff if auto-signoff labels are present (even when blocked). armSignedOffLabel.shouldBePresent = - armReviewLabelShouldBePresent && !blocked && armSignedOffLabel.present; + armReviewLabelShouldBePresent && (!blocked || autoSignedOff) && armSignedOffLabel.present; // If given PR is in scope of ARM review and the review is not blocked and // not signed-off, then the label "ARMChangesRequested" should remain present diff --git a/.github/workflows/test/arm-auto-signoff/arm-auto-signoff-status.test.js b/.github/workflows/test/arm-auto-signoff/arm-auto-signoff-status.test.js index cc35a6a4b646..342c9c36f457 100644 --- a/.github/workflows/test/arm-auto-signoff/arm-auto-signoff-status.test.js +++ b/.github/workflows/test/arm-auto-signoff/arm-auto-signoff-status.test.js @@ -290,7 +290,7 @@ describe("getLabelActionImpl", () => { it.each([ { labels: ["ARMAutoSignedOff-IncrementalTSP"] }, - { labels: ["ARMAutoSignedOff-IncrementalTSP", "ARMReview", "NotReadyForARMReview"] }, + // NotReadyForARMReview check removed - no longer blocks auto-signoff { labels: ["ARMAutoSignedOff-IncrementalTSP", "ARMReview", "SuppressionReviewRequired"] }, ])("removes label if not all labels match ($labels)", async ({ labels }) => { const github = createMockGithub({ incrementalTypeSpec: true }); diff --git a/specification/widget/resource-manager/Microsoft.Widget/Widget/employee.tsp b/specification/widget/resource-manager/Microsoft.Widget/Widget/employee.tsp index 3c5e47132d00..a75e8a3ebb8b 100644 --- a/specification/widget/resource-manager/Microsoft.Widget/Widget/employee.tsp +++ b/specification/widget/resource-manager/Microsoft.Widget/Widget/employee.tsp @@ -23,6 +23,12 @@ model EmployeeProperties { /** City of employee */ city?: string; + /** Department where the employee works */ + department?: string; + + /** Job title of the employee */ + jobTitle?: string; + /** Profile of employee */ @encode("base64url") profile?: bytes;