Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
ba1a988
Add GitHub Action to validate ARM leases
tejaswiMinnu Jan 7, 2026
2a36e3c
added test yaml
tejaswiMinnu Jan 7, 2026
c223332
yaml package was missing
tejaswiMinnu Jan 7, 2026
30fbed2
yaml package was missing
tejaswiMinnu Jan 7, 2026
e3dabae
workflow unable to fetch base branch
tejaswiMinnu Jan 7, 2026
f0c389d
added merge base to check proper comparison
tejaswiMinnu Jan 7, 2026
89d7708
debug why arm-leases is not detected
tejaswiMinnu Jan 7, 2026
51ca6a1
debug why arm-leases is not detected
tejaswiMinnu Jan 7, 2026
e0846be
debug
tejaswiMinnu Jan 7, 2026
c570ea5
remove debug logs
tejaswiMinnu Jan 7, 2026
1fa7987
remove debug logs
tejaswiMinnu Jan 7, 2026
00f63e0
refined the code
tejaswiMinnu Jan 7, 2026
61119eb
refined the code
tejaswiMinnu Jan 7, 2026
ce33aeb
Merge branch 'main' into tejaswis/validateArmLeases
tejaswiMinnu Jan 7, 2026
e5d76c3
Detect new Resource Provider Namespaces, check and validate arm-lease…
tejaswiMinnu Jan 13, 2026
1776e58
Merge branch 'main' into tejaswis/detectNewRPs
tejaswiMinnu Jan 13, 2026
32ac2de
service group level leases
tejaswiMinnu Jan 14, 2026
5c9c14b
Merge branch 'tejaswis/detectNewRPs' of https://github.com/tejaswiMin…
tejaswiMinnu Jan 14, 2026
4eb0537
added servicegroup
tejaswiMinnu Jan 15, 2026
3603ca4
Merge branch 'main' into tejaswis/validateArmLeases
tejaswiMinnu Jan 15, 2026
7e1843c
Merge branch 'main' into tejaswis/detectNewRPs
tejaswiMinnu Jan 22, 2026
60c90b3
Merge branch 'main' into tejaswis/validateArmLeases
tejaswiMinnu Jan 22, 2026
c9fee42
Update terminology from 'Program Managers' to 'Product Managers'
tejaswiMinnu Jan 22, 2026
1aa96c8
Merge branch 'main' into tejaswis/detectNewRPs
tejaswiMinnu Jan 23, 2026
3020396
corrected parse failure
tejaswiMinnu Jan 23, 2026
82c8f54
Added labels and check new directory to identify new RP's
tejaswiMinnu Jan 27, 2026
fba25c9
Merge branch 'main' into tejaswis/detectNewRPs
tejaswiMinnu Jan 27, 2026
a0de6b8
Merge branch 'main' into tejaswis/validateArmLeases
tejaswiMinnu Jan 27, 2026
f2f002e
Addressed comments : moved comment on PR to .js, used GH script, chan…
tejaswiMinnu Jan 27, 2026
302837f
Merge branch 'tejaswis/detectNewRPs' of https://github.com/tejaswiMin…
tejaswiMinnu Jan 27, 2026
bde5429
Merge branch 'main' into tejaswis/detectNewRPs
tejaswiMinnu Jan 27, 2026
c954ba1
Itr 1: Addressed comments
tejaswiMinnu Feb 5, 2026
f137291
Merge branch 'main' into tejaswis/detectNewRPs
tejaswiMinnu Feb 5, 2026
7d6b304
Merge branch 'main' into tejaswis/detectNewRPs
mikeharder Feb 11, 2026
15f592a
Merge branch 'main' into tejaswis/detectNewRPs
tejaswiMinnu Feb 11, 2026
5a4d5ab
Itr 1 : addressing the comments
tejaswiMinnu Feb 12, 2026
c86658f
Itr 1: missed to checkin yaml
tejaswiMinnu Feb 12, 2026
22472fa
Merge branch 'main' into tejaswis/detectNewRPs
tejaswiMinnu Feb 12, 2026
59cb315
Itr 1 : checkin labelling js file
tejaswiMinnu Feb 12, 2026
44f0664
Merge branch 'tejaswis/detectNewRPs' of https://github.com/tejaswiMin…
tejaswiMinnu Feb 12, 2026
8d966ac
Itr 1 : addressed copilots comments and modified name of workflow
tejaswiMinnu Feb 12, 2026
acdcfd3
Merge branch 'main' into tejaswis/detectNewRPs
tejaswiMinnu Feb 12, 2026
0c0dc16
Itr 1: removed yamle file and fixed tests with spell check
tejaswiMinnu Feb 12, 2026
e702c45
Merge branch 'tejaswis/detectNewRPs' of https://github.com/tejaswiMin…
tejaswiMinnu Feb 12, 2026
1ef62fe
Merge branch 'main' into tejaswis/detectNewRPs
tejaswiMinnu Feb 12, 2026
337923e
spell check
tejaswiMinnu Feb 13, 2026
d7f0f00
Merge branch 'main' into tejaswis/validateArmLeases
tejaswiMinnu Feb 13, 2026
e596b3f
Merge branch 'main' into tejaswis/validateArmLeases
tejaswiMinnu Feb 13, 2026
d5d3173
Itr 1: addressed all comments from Mike and Copilot
tejaswiMinnu Feb 13, 2026
011cbc5
Merge branch 'main' into tejaswis/detectNewRPs
tejaswiMinnu Feb 13, 2026
abb646a
Updated duration-days and ISO format
tejaswiMinnu Feb 13, 2026
bc22fc7
Address - check failures
tejaswiMinnu Feb 13, 2026
b6cad03
Address - check failures
tejaswiMinnu Feb 13, 2026
c2d3365
Merge branch 'main' into tejaswis/validateArmLeases
tejaswiMinnu Feb 17, 2026
b537b9c
modified workflow name and removed test lease files, updated readme w…
tejaswiMinnu Feb 17, 2026
4302899
Merge branch 'main' into tejaswis/detectNewRPs
tejaswiMinnu Feb 17, 2026
50a466a
Merge branch 'main' into tejaswis/detectNewRPs
tejaswiMinnu Feb 20, 2026
b29373d
Merge branch 'main' into tejaswis/validateArmLeases
tejaswiMinnu Feb 20, 2026
0397e0f
Update .github/workflows/arm-lease-validation-pms.yaml
mikeharder Feb 20, 2026
fc198d2
Merge branch 'main' into tejaswis/validateArmLeases
tejaswiMinnu Mar 3, 2026
1f4927c
Resolved comments
tejaswiMinnu Mar 3, 2026
5e157e0
Merge branch 'tejaswis/validateArmLeases' of https://github.com/tejas…
tejaswiMinnu Mar 3, 2026
3bf678a
Address comments after merge
tejaswiMinnu Mar 3, 2026
0ac5876
Merge branch 'main' into tejaswis/detectNewRPs
tejaswiMinnu Mar 3, 2026
dc26c58
adressed all latest comments and moved to arm-lease-validation folder
tejaswiMinnu Mar 4, 2026
e1b2062
Merge branch 'tejaswis/detectNewRPs' of https://github.com/tejaswiMin…
tejaswiMinnu Mar 4, 2026
378b1b2
Merge branch 'main' into tejaswis/detectNewRPs
tejaswiMinnu Mar 4, 2026
6d687ed
Merge branch 'tejaswis/detectNewRPs' of https://github.com/tejaswiMin…
tejaswiMinnu Mar 4, 2026
7be221c
deleetd files
tejaswiMinnu Mar 4, 2026
e112d2e
tests were failing
tejaswiMinnu Mar 4, 2026
4c9e1d6
Merge branch 'main' into tejaswis/validateArmLeases
tejaswiMinnu Mar 4, 2026
68353dd
Modified duration, naming structure
tejaswiMinnu Mar 4, 2026
597f0ea
update package
tejaswiMinnu Mar 4, 2026
30aca2d
update package
tejaswiMinnu Mar 4, 2026
49b4961
update lease file
tejaswiMinnu Mar 4, 2026
cd17bfe
Merge pull request #1 from tejaswiMinnu/tejaswis/detectNewRPs
tejaswiMinnu Mar 4, 2026
7c65052
renamed file name
tejaswiMinnu Mar 4, 2026
6002c89
Merge pull request #3 from tejaswiMinnu/tejaswis/detectNewRPs
tejaswiMinnu Mar 4, 2026
c0f28f2
Merge pull request #2 from tejaswiMinnu/tejaswis/validateArmLeases
tejaswiMinnu Mar 4, 2026
da6eb58
Merge branch 'Azure:main' into main
tejaswiMinnu Mar 4, 2026
3de7526
enable workflow
tejaswiMinnu Mar 4, 2026
c12e0b4
small change
tejaswiMinnu Mar 4, 2026
41d12b1
js changes
tejaswiMinnu Mar 4, 2026
9d2742c
Merge pull request #4 from tejaswiMinnu/tejaswis/newRPEnabledWF
tejaswiMinnu Mar 4, 2026
bf8b56e
change to address date
tejaswiMinnu Mar 4, 2026
b741df2
Merge pull request #5 from tejaswiMinnu/tejaswis/newRPEnabledWF
tejaswiMinnu Mar 4, 2026
18daced
file name UTS
tejaswiMinnu Mar 4, 2026
787bfe2
Merge pull request #6 from tejaswiMinnu/tejaswis/newRPEnabledWF
tejaswiMinnu Mar 4, 2026
d9ddb55
Created new RP - test ARM lease
tejaswiMinnu Mar 4, 2026
2dd5bf6
package
tejaswiMinnu Mar 4, 2026
6841627
package
tejaswiMinnu Mar 4, 2026
29b5b43
error - package
tejaswiMinnu Mar 4, 2026
efa82d2
new resource type on existing RP
tejaswiMinnu Mar 4, 2026
6c53a34
New changes
tejaswiMinnu Mar 4, 2026
5616081
Merge pull request #8 from tejaswiMinnu/tejaswis/newLogicChange
tejaswiMinnu Mar 4, 2026
1ab4728
deleetd test RP's
tejaswiMinnu Mar 4, 2026
8f65795
Merge pull request #9 from tejaswiMinnu/tejaswis/newLogicChange
tejaswiMinnu Mar 4, 2026
75f7efe
Test RP RT
tejaswiMinnu Mar 4, 2026
51a6606
Adding lease files
tejaswiMinnu Mar 4, 2026
7f2d159
label
tejaswiMinnu Mar 4, 2026
74eda48
Merge pull request #11 from tejaswiMinnu/tejaswis/newLogicChange
tejaswiMinnu Mar 4, 2026
362a2db
RMJ failure
tejaswiMinnu Mar 4, 2026
b51b663
Merge pull request #12 from tejaswiMinnu/tejaswis/newLogicChange
tejaswiMinnu Mar 4, 2026
7c95261
Merge branch 'main' into tejaswis/newRPRTtest
tejaswiMinnu Mar 4, 2026
6e4ac98
new changes
tejaswiMinnu Mar 4, 2026
cfb73db
Merge branch 'main' into tejaswis/newLogicChange
tejaswiMinnu Mar 4, 2026
8356e9f
Merge pull request #13 from tejaswiMinnu/tejaswis/newLogicChange
tejaswiMinnu Mar 4, 2026
c1ac7f6
Merge branch 'main' into tejaswis/newRPRTtest
tejaswiMinnu Mar 4, 2026
c61f01d
change in logic
tejaswiMinnu Mar 5, 2026
7d237be
Merge pull request #14 from tejaswiMinnu/tejaswis/newLogicChange
tejaswiMinnu Mar 5, 2026
6fa6d42
Merge branch 'main' into tejaswis/newRPRTtest
tejaswiMinnu Mar 5, 2026
0c43f3d
Changes
tejaswiMinnu Mar 5, 2026
962bddc
Delete specification/compute/resource-manager/Microsoft.Compute/DiskR…
tejaswiMinnu Mar 5, 2026
4844684
Delete specification/dummyservice/resource-manager/Microsoft.Dummy/pr…
tejaswiMinnu Mar 5, 2026
9785a7c
Delete .github/arm-leases/domainservices/Microsoft.AAD/DomainServices…
tejaswiMinnu Mar 5, 2026
aaf2218
Delete .github/arm-leases/azureactivedirectory/Microsoft.Aadiam/Azure…
tejaswiMinnu Mar 5, 2026
2228e7f
Merge pull request #10 from tejaswiMinnu/tejaswis/newRPRTtest
tejaswiMinnu Mar 5, 2026
480c5ca
Check new RT
tejaswiMinnu Mar 5, 2026
9d67bbd
Merge branch 'tejaswis/newRPRTtest' of https://github.com/tejaswiMinn…
tejaswiMinnu Mar 5, 2026
1f36f4f
new RT
tejaswiMinnu Mar 5, 2026
405e6ef
new RT
tejaswiMinnu Mar 5, 2026
559ef51
Merge pull request #16 from tejaswiMinnu/tejaswis/newLogicChange
tejaswiMinnu Mar 5, 2026
2bb1793
Merge branch 'main' into tejaswis/newRPRTtest
tejaswiMinnu Mar 5, 2026
b7f27ca
Delete specification/compute/resource-manager/Microsoft.Compute/DiskR…
tejaswiMinnu Mar 5, 2026
880f581
new change
tejaswiMinnu Mar 5, 2026
ad4d60a
Merge pull request #15 from tejaswiMinnu/tejaswis/newRPRTtest
tejaswiMinnu Mar 5, 2026
0399413
Initial plan
Copilot Mar 5, 2026
4543dda
Fix new resource type detection in ARM Modeling Review workflow
Copilot Mar 5, 2026
ee0a516
Extract resource type detection to @azure-tools/specs-shared module
Copilot Mar 5, 2026
66b4963
Revert: remove new shared module files, restore inline resource type …
Copilot Mar 5, 2026
fa3a523
Remove stray .github/workflows/package.json accidentally created in f…
Copilot Mar 5, 2026
ca17cb4
Merge pull request #18 from tejaswiMinnu/copilot/fix-new-resource-typ…
tejaswiMinnu Mar 5, 2026
00485ba
Initial plan
Copilot Mar 5, 2026
66c378a
Scope resource type detection to service subdirectory instead of enti…
Copilot Mar 5, 2026
4c3560f
Merge pull request #19 from tejaswiMinnu/copilot/check-disks-preview-…
tejaswiMinnu Mar 5, 2026
e65b6f2
Initial plan
Copilot Mar 5, 2026
7696962
fix: wrap ArmHelper in try-catch to enable path-based fallback for re…
Copilot Mar 5, 2026
4415d9a
Merge pull request #22 from tejaswiMinnu/copilot/fix-new-resource-typ…
tejaswiMinnu Mar 5, 2026
5390554
Logs and labels
tejaswiMinnu Mar 5, 2026
ab47a97
Merge pull request #26 from tejaswiMinnu/tejaswis/logsLabel
tejaswiMinnu Mar 5, 2026
7b4e9f6
New RT Test
tejaswiMinnu Mar 5, 2026
b0dc24a
Delete specification/compute/resource-manager/Microsoft.Compute/DiskR…
tejaswiMinnu Mar 5, 2026
0beb13b
Initial plan
Copilot Mar 5, 2026
5d938c2
Update ARMModelingReviewRequired message to mention new resource types
Copilot Mar 5, 2026
4750246
Merge pull request #29 from tejaswiMinnu/copilot/schedule-arm-modelin…
tejaswiMinnu Mar 5, 2026
5c33184
New RP introduction for Wack RP.
Mar 17, 2026
f76de89
Add compiled OpenAPI spec and autorest readme for Wack RP
Mar 17, 2026
749dc24
Lease for Microsoft.Wack RP
Mar 18, 2026
c37e087
Add Microsoft.Zombie lease and update rps-no-groups.txt
Mar 18, 2026
34546c5
Merge pull request #1 from vikeshi26/add-zombie-lease
vikeshi26 Mar 18, 2026
23ce497
Add InsightReport resource type to Microsoft.Advisor
Mar 18, 2026
e1644e1
Add lease for Microsoft.Advisor and update rps-no-groups.txt
Mar 18, 2026
f5415d5
Add lease for Microsoft.Batch
Mar 18, 2026
35b091d
Merge pull request #4 from vikeshi26/add-batch-lease
vikeshi26 Mar 18, 2026
5a8351d
Add Schedule resource type to Microsoft.Batch
Mar 18, 2026
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
92 changes: 92 additions & 0 deletions .github/arm-leases/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# ARM Leases - Design Discussion Period

## Overview

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.

**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 in the lease file must also be a PM who has reviewed and approved the lease.

## Code Owners and Contribution Guidelines

This directory is intended to be governed via CODEOWNERS to ensure proper governance:

- **Product Managers (PMs)**: Can add and modify `lease.yaml` files after office hours discussions with RP owners
- **Engineers**: Can enhance and improve the validation workflow and related automation
- **Approvals**: All changes should be reviewed and approved by designated code owners (PMs and engineers listed in CODEOWNERS, when configured)

**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.

## Lease File Structure

Each lease must be placed in the following directory structure:
```
.github/arm-leases/<orgName>/<rpNamespace>/[<serviceName> (optional)]/lease.yaml
```

### Path Requirements:
- `<orgName>`: lowercase alphanumeric only (e.g., testservice, widgetservice)
- `<rpNamespace>`: alphanumeric with dots, case-sensitive (e.g., Microsoft.TestRP, Azure.Widget)
- `<serviceName>`: (optional) customer-facing service name within an RP (e.g., DiskRP, ComputeRP). Must not start with "stable" or "preview"

### Lease File Format

The `lease.yaml` file must follow this format:

```yaml
lease:
resource-provider: Microsoft.TestRP # Must match the rpNamespace folder name
startdate: 2026-01-07 # ISO 8601 format (YYYY-MM-DD)
duration: P180D # ISO 8601 duration (e.g., P180D, P6M, P1Y2M3D)
reviewer: Evan Hissey # Name of the approving reviewer
```

### Copy-Paste Template

Create a file at `.github/arm-leases/<orgName>/<rpNamespace>/<serviceName>(optional)/lease.yaml` with the following content (replace the placeholder values):

```yaml
lease:
resource-provider: <rpNamespace>
startdate: <YYYY-MM-DD>
duration: P180D
reviewer: <Your Name>

```

## Validation Rules

All lease files are automatically validated with the following requirements:

### 1. File Location
- Only `lease.yaml` files are allowed in the `.github/arm-leases/` directory
- Must follow the folder structure: `<orgName>/<rpNamespace>/[<serviceName> (optional)]/lease.yaml`

### 2. Resource Provider Name
- Must match the `<rpNamespace>` folder name exactly
- Example: If folder is `Microsoft.TestRP`, then `resource-provider` must be `Microsoft.TestRP`

### 3. Start Date
- Must be in ISO 8601 format: `YYYY-MM-DD`
- Cannot be in the past (must be today or a future date)

### 4. Duration
- Required field that cannot be empty
- Must be a valid ISO 8601 duration (e.g., `P180D`, `P6M`, `P1Y2M3D`)
- Supports day-based (`P90D`), month-based (`P6M`), and combined formats (`P1Y2M3D`)

### 5. Reviewer
- Required field that cannot be empty
- Must contain the name of the PM who approved the lease
- Only PMs can be listed as reviewers

## Troubleshooting

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:

- **Invalid folder structure**: Ensure the path follows `<orgName>/<rpNamespace>/[<serviceName>]/lease.yaml` with lowercase org name
- **Resource provider mismatch**: The `resource-provider` value must match the `<rpNamespace>` folder name exactly
- **Past start date**: The `startdate` must be today or a future date in `YYYY-MM-DD` format
- **Invalid duration**: Use a valid ISO 8601 duration (e.g., `P180D`, `P6M`, `P1Y2M3D`)
- **Missing or empty fields**: All fields (`resource-provider`, `startdate`, `duration`, `reviewer`) are required
- **Disallowed files**: Only `lease.yaml` and `README.md` files are permitted in `.github/arm-leases/`

5 changes: 5 additions & 0 deletions .github/arm-leases/advisor/Microsoft.Advisor/lease.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
lease:
resource-provider: Microsoft.Advisor
startdate: 2026-03-18
duration: P180D
reviewer: Tejaswi Salaiagari
5 changes: 5 additions & 0 deletions .github/arm-leases/batch/Microsoft.Batch/lease.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
lease:
resource-provider: Microsoft.Batch
startdate: 2026-03-18
duration: P180D
reviewer: Tejaswi Salaiagari
5 changes: 5 additions & 0 deletions .github/arm-leases/wack/Microsoft.Wack/lease.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
lease:
resource-provider: Microsoft.Wack
startdate: 2026-03-18
duration: P180D
reviewer: Tejaswi Salaiagari
5 changes: 5 additions & 0 deletions .github/arm-leases/zombie/Microsoft.Zombie/lease.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
lease:
resource-provider: Microsoft.Zombie
startdate: 2026-03-18
duration: P180D
reviewer: Vikeshi Tiwari
Loading
Loading