Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
lease:
resource-provider: Microsoft.Luminary
startdate: "2026-05-01"
duration: P30D
reviewer: "@tejaswiMinnu"
1 change: 0 additions & 1 deletion .github/workflows/arm-auto-signoff-status.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
name: ARM Auto SignOff - Set Status

on:
Expand Down Expand Up @@ -49,7 +49,6 @@
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
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import { inspect } from "util";
import { CommitStatusState, PER_PAGE_MAX } from "../../../shared/src/github.js";
import { equals } from "../../../shared/src/set.js";
Expand Down Expand Up @@ -157,7 +157,6 @@

const allLabelsMatch =
labelNames.includes("ARMReview") &&
!labelNames.includes("NotReadyForARMReview") &&
(!labelNames.includes("SuppressionReviewRequired") ||
labelNames.includes("Approved-Suppression"));

Expand Down
17 changes: 15 additions & 2 deletions .github/workflows/src/summarize-checks/labelling.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
/*
This file covers two areas of enforcement:
1. It calculates what set of label rules has been violated by the current PR, for the purposes of updating next steps to merge.
Expand Down Expand Up @@ -659,18 +659,31 @@

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
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import { describe, expect, it } from "vitest";
import { CommitStatusState } from "../../../shared/src/github.js";
import { getLabelActionImpl } from "../../src/arm-auto-signoff/arm-auto-signoff-status.js";
Expand Down Expand Up @@ -290,7 +290,7 @@

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 });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Loading