From d65440b7dc07a6592e9f903f7dd438a68877a4c4 Mon Sep 17 00:00:00 2001 From: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri, 29 Aug 2025 11:43:21 -0700 Subject: [PATCH] Sync eng/common directory with azure-sdk-tools for PR 11905 (#6719) * Updated instructions files for service label and CODEOWNERS validation * Update eng/common/instructions/azsdk-tools/validate-service-label.instructions.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Trim trailing whitespaces * Added suggested changes from previous PR --------- Co-authored-by: Michelle Co-authored-by: Michelle Ma <145605943+michiisai@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../validate-codeowners.instructions.md | 14 +++--- .../validate-service-label.instructions.md | 46 ++++++++++++++----- 2 files changed, 41 insertions(+), 19 deletions(-) diff --git a/eng/common/instructions/azsdk-tools/validate-codeowners.instructions.md b/eng/common/instructions/azsdk-tools/validate-codeowners.instructions.md index 553118dcf..83167f459 100644 --- a/eng/common/instructions/azsdk-tools/validate-codeowners.instructions.md +++ b/eng/common/instructions/azsdk-tools/validate-codeowners.instructions.md @@ -1,9 +1,9 @@ --- mode: 'agent' -tools: ['azsdk_check_service_label', 'azsdk_engsys_validate_codeowners_entry_for_service', 'azsdk_engsys_codeowner_update'] +tools: ['azsdk_check_service_label', 'azsdk_engsys_validate_codeowners_entry_for_service', 'azsdk_engsys_codeowner_update'] --- -## Goal: +## Goal: Validate service label and ensure at least 2 valid code owners exist for SDK repositories. ## Step 1: Validate Service Label @@ -11,12 +11,12 @@ Use `azsdk_check_service_label` to verify the service label exists: - **DoesNotExist/NotAServiceLabel**: Direct user to create valid service label first. Stop validation process until service label is created. - **Exists/InReview**: Proceed to Step 2 -## Step 2: Validate Code Owners +## Step 2: Validate Code Owners Ask user to specify SDK repository they want to validate codeowners for or detect from context. Repository name mapping: - .NET/dotnet: use "azure-sdk-for-net" -- Python: use "azure-sdk-for-python" +- Python: use "azure-sdk-for-python" - Java: use "azure-sdk-for-java" - JavaScript: use "azure-sdk-for-js" - Go: use "azure-sdk-for-go" @@ -28,7 +28,7 @@ Use `azsdk_engsys_validate_codeowners_entry_for_service` with either `serviceLab ## Step 3: Check Existing Code Owners Valid code owners must be: -- PUBLIC members of Microsoft and Azure GitHub organizations +- PUBLIC members of Microsoft and Azure GitHub organizations - Have write access to the SDK repository **If at least 2 valid owners**: Success - optionally add or delete additional owners @@ -41,7 +41,7 @@ When no CODEOWNERS entry exists yet: 1. Ensure you have the following information - repo - **Required** - Repository name mapping: - .NET/dotnet: use "azure-sdk-for-net" - - Python: use "azure-sdk-for-python" + - Python: use "azure-sdk-for-python" - Java: use "azure-sdk-for-java" - JavaScript: use "azure-sdk-for-js" - Go: use "azure-sdk-for-go" @@ -71,4 +71,4 @@ When no CODEOWNERS entry exists yet: ## Requirements - **MINIMUM**: At least 2 valid code owners at all times - **NO EXCEPTIONS**: Cannot proceed with insufficient owners -- **RESPONSE HANDLING**: If any exception occurs during validation or creation, ALWAYS provide documentation link [Codeowners documentation](https://eng.ms/docs/products/azure-developer-experience/develop/supporting-sdk-customers/codeowners) \ No newline at end of file +- **RESPONSE HANDLING**: If any exception occurs during validation or creation, ALWAYS provide documentation link [CODEOWNERS documentation](https://eng.ms/docs/products/azure-developer-experience/develop/supporting-sdk-customers/codeowners) \ No newline at end of file diff --git a/eng/common/instructions/azsdk-tools/validate-service-label.instructions.md b/eng/common/instructions/azsdk-tools/validate-service-label.instructions.md index 25a15838e..95dd71e17 100644 --- a/eng/common/instructions/azsdk-tools/validate-service-label.instructions.md +++ b/eng/common/instructions/azsdk-tools/validate-service-label.instructions.md @@ -2,31 +2,53 @@ mode: 'agent' tools: ['azsdk_check_service_label', 'azsdk_create_service_label'] --- - + ## Goal Validate service label exists or create new one for SDK release process. - -## Step 1: Get Service Label -Ask user for their service label. If none provided, explain that a valid service label is required for SDK release. - -## Step 2: Validate Label + +## Step 1: Provide Information + +Provide the following information about the importance of service labels: + +"Before your SDK is released, your service must have a valid service label in the Azure SDK repositories. Service labels enable automatic owner assignment and notifications across the Azure SDK ecosystem. + +When properly configured, service labels automatically: + +- Notify service owners when issues are filed against their SDK +- Add appropriate reviewers to pull requests +- Connect code changes to the right team members through CODEOWNERS integration + +Without a valid service label, the process to identify the correct service owners for issues and code reviews becomes manual and inefficient." + +## Step 2: Get Service Label + +Ask user for their service label. If they don't know their service label provide guidance: + +- Check out the [Common Labels CSV](https://github.com/Azure/azure-sdk-tools/blob/main/tools/github/data/common-labels.csv) file and look for a row whose first column contains your service's product name. + +If they don't have a service label - go to Step 3 for new service label + +## Step 3: Validate Label + Use `azsdk_check_service_label` to check status: - + - **Exists**: Success - user can proceed with next steps in SDK release process - **InReview**: Label pending approval - user can proceed (will be available once merged) - **DoesNotExist**: Go to Step 3 to create new label - **NotAServiceLabel**: Label exists but it is not a service label - go to Step 3 for new service label - -## Step 3: Create New Service Label + +## Step 4: Create New Service Label + If no valid service label exists, guide the user through creating a new one. - + 1. **Check existing labels**: Search for related service labels, offer alternatives 2. **Generate recommendation**: Suggest label name following guidelines: + - Should match the service's official product name as described on Service Tree (e.g., "Event Hubs", "Kusto", "Cosmos", etc.) - No "Microsoft/Azure" in name - Title Case (except short prepositions) - Avoid Service Groups: Use "Communication Rooms" instead of "Communication - Rooms" - Single label per service 3. **Get confirmation**: User confirms or modifies suggested name 4. **Create label**: Use `azsdk_create_service_label` with confirmed name and documentation link given by user - -Inform user they can proceed. + +Inform user they can proceed. \ No newline at end of file