Skip to content

Commit 5f30b97

Browse files
committed
Merge branch 'mikeharder-test-gh-pool' of https://github.com/Azure/azure-rest-api-specs into mikeharder-test-gh-pool
2 parents 25725ba + 734b9f6 commit 5f30b97

824 files changed

Lines changed: 66592 additions & 54214 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODEOWNERS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@
124124
/specification/deploymentmanager/ @netrock
125125

126126
# PRLabel: %Device Registry
127-
/specification/deviceregistry/ @rohankhandelwal @atastrophic @siongithub @mryanlo
127+
/specification/deviceregistry/ @atastrophic @siongithub @mryanlo @hmmorales
128128

129129
/specification/documentdb/ @dmakwana
130130

@@ -313,7 +313,7 @@
313313
/.github/copilot-instructions.md @praveenkuttappan @maririos
314314
/.github/prompts/ @praveenkuttappan @maririos
315315
/.github/instructions/ @praveenkuttappan @maririos
316-
/.github/instructions/*arm*.md @raosuhas
316+
/.github/instructions/*arm*.md @praveenkuttappan @raosuhas @ravimeda @laxmankumar12
317317
/.github/chatmodes/ @praveenkuttappan @maririos
318318

319319
# Add owners for notifications for specific pipelines

.github/arm-leases/README.md

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
# ARM Leases - Design Discussion Period
2+
3+
## Overview
4+
5+
This directory contains lease files that establish a time-limited design discussion period for Resource Providers (RPs) in the Azure REST API specifications repository. ARM leases provide a structured timeframe for Product Managers (PMs) and RP owners to collaborate on API design, review specifications.
6+
7+
**Important**: Only Product Managers (PMs) are authorized to add lease.yaml files to this directory. Lease files should be added after conducting office hours discussions with RP owners. The reviewer field should contain the GitHub alias of a PM who has reviewed and approved the lease.
8+
9+
## Code Owners and Contribution Guidelines
10+
11+
This directory is intended to be governed via CODEOWNERS to ensure proper governance:
12+
13+
- **Product Managers (PMs)**: Can add and modify `lease.yaml` files after office hours discussions with RP owners
14+
- **Engineers**: Can enhance and improve the validation workflow and related automation
15+
- **Approvals**: All changes should be reviewed and approved by designated code owners (PMs and engineers listed in CODEOWNERS, when configured)
16+
17+
**Adding New PMs**: To grant a new PM access to add lease files, they should be added to the CODEOWNERS file for the `.github/arm-leases/` directory path when CODEOWNERS protection is configured.
18+
19+
## Lease File Structure
20+
21+
Each lease must be placed in the following directory structure:
22+
23+
```
24+
.github/arm-leases/<orgName>/<rpNamespace>/[<serviceName> (optional)]/lease.yaml
25+
```
26+
27+
### Path Requirements:
28+
29+
- `<orgName>`: lowercase alphanumeric only (e.g., testservice, widgetservice)
30+
- `<rpNamespace>`: alphanumeric with dots, case-sensitive (e.g., Microsoft.TestRP, Azure.Widget)
31+
- `<serviceName>`: (optional) customer-facing service name within an RP (e.g., DiskRP, ComputeRP). Must not start with "stable" or "preview"
32+
33+
### Lease File Format
34+
35+
The `lease.yaml` file must follow this format:
36+
37+
```yaml
38+
lease:
39+
resource-provider: Microsoft.TestRP # Must match the rpNamespace folder name
40+
startdate: 2026-01-07 # ISO 8601 format (YYYY-MM-DD)
41+
duration: P180D # ISO 8601 duration (max 180 days, e.g., P180D, P90D, P5M)
42+
reviewer: "@evanhissey" # GitHub alias of the approving reviewer
43+
```
44+
45+
### Copy-Paste Template
46+
47+
Create a file at `.github/arm-leases/<orgName>/<rpNamespace>/<serviceName>(optional)/lease.yaml` with the following content (replace the placeholder values):
48+
49+
```yaml
50+
lease:
51+
resource-provider: <rpNamespace>
52+
startdate: <YYYY-MM-DD>
53+
duration: P180D
54+
reviewer: "@your-github-alias"
55+
```
56+
57+
## Validation Rules
58+
59+
All lease files are automatically validated with the following requirements:
60+
61+
### 1. File Location
62+
63+
- Only `lease.yaml` files are allowed in the `.github/arm-leases/` directory
64+
- Must follow the folder structure: `<orgName>/<rpNamespace>/[<serviceName> (optional)]/lease.yaml`
65+
66+
### 2. Resource Provider Name
67+
68+
- Must match the `<rpNamespace>` folder name exactly
69+
- Example: If folder is `Microsoft.TestRP`, then `resource-provider` must be `Microsoft.TestRP`
70+
71+
### 3. Start Date
72+
73+
- Must be in ISO 8601 format: `YYYY-MM-DD`
74+
- Must be a valid calendar date
75+
76+
### 4. Duration
77+
78+
- Required field that cannot be empty
79+
- Must be a valid ISO 8601 duration (e.g., `P180D`, `P90D`, `P5M`)
80+
- **Maximum duration is 180 days**
81+
- Supports day-based (`P90D`), month-based (`P5M`), and combined formats
82+
83+
### 5. Reviewer
84+
85+
- Required field that cannot be empty
86+
- Must be a GitHub alias starting with `@` (e.g., `@githubUsername`)
87+
88+
## Troubleshooting
89+
90+
If your PR check **"ARM Lease Validation"** is failing, review the error messages in the check output and fix the issues in your `lease.yaml` file. Common causes include:
91+
92+
- **Invalid folder structure**: Ensure the path follows `<orgName>/<rpNamespace>/[<serviceName>]/lease.yaml` with lowercase org name
93+
- **Resource provider mismatch**: The `resource-provider` value must match the `<rpNamespace>` folder name exactly
94+
- **Past start date**: The `startdate` must be a valid date in `YYYY-MM-DD` format
95+
- **Invalid duration**: Use a valid ISO 8601 duration that does not exceed 180 days (e.g., `P180D`, `P90D`, `P5M`)
96+
- **Missing or empty fields**: All fields (`resource-provider`, `startdate`, `duration`, `reviewer`) are required
97+
- **Disallowed files**: Only `lease.yaml` and `README.md` files are permitted in `.github/arm-leases/`
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
lease:
2+
resource-provider: Microsoft.Widget
3+
startdate: "2026-04-15"
4+
duration: P180D
5+
reviewer: "@pshao25"

.github/aw/actions-lock.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@
2525
"version": "v9.0.0",
2626
"sha": "d746ffe35508b1917358783b479e04febd2b8f71"
2727
},
28-
"github/gh-aw-actions/setup@v0.68.0": {
28+
"github/gh-aw-actions/setup@v0.68.1": {
2929
"repo": "github/gh-aw-actions/setup",
30-
"version": "v0.68.0",
31-
"sha": "0acfb4a691fe207cd8bc982ea5cb9d750d57a702"
30+
"version": "v0.68.1",
31+
"sha": "2fe53acc038ba01c3bbdc767d4b25df31ca5bdfc"
3232
}
3333
}
3434
}

.github/cspell.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import:
33
- ../cspell.yaml
44
ignorePaths:
55
- CODEOWNERS*
6+
- arm-leases/**
67
- policies/**
78
- workflows/*.lock.yml
89
- workflows/**/*.md

0 commit comments

Comments
 (0)