Skip to content
Open
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
9 changes: 0 additions & 9 deletions .github/policies/eventResponder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -242,12 +242,3 @@ configuration:
then:
- removeLabel:
label: "Status: In PR :point_right:"

- description: 'ITA26 - When owner is ready for repository creation, add the "Status: Ready For Repository Creation :memo:" label'
if:
- payloadType: Issue_Comment
- commentContains:
pattern: "#RFRC"
then:
- addLabel:
label: "Status: Ready For Repository Creation :memo:"
54 changes: 0 additions & 54 deletions .github/workflows/github-teams-check-existance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -129,57 +129,3 @@ jobs:
Invoke-AvmGitHubTeamLinter @functionInput -Verbose
env:
GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}

- name: "Compare Terraform Resource Teams"
if: always()
id: comparetfres
shell: pwsh
run: |
# Load used functions
. (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'sharedScripts' 'teamLinter' 'Invoke-AvmGitHubTeamLinter.ps1')

$functionInput = @{
ModuleIndex = 'Terraform-Resource'
TeamFilter = 'AllTerraformResource'
ValidateTerraformTeamsPermissons = $true
}

$branch = git branch --show-current
$branchName = $branch.split('/')[-1]
if ($branchName -eq "main"){
$functionInput['CreateIssues'] = $true
}

Write-Verbose 'Invoke task with' -Verbose
Write-Verbose ($functionInput | ConvertTo-Json | Out-String) -Verbose

Invoke-AvmGitHubTeamLinter @functionInput -Verbose
env:
GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}

- name: "Compare Terraform Pattern Teams"
if: always()
id: comparetfptn
shell: pwsh
run: |
# Load used functions
. (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'sharedScripts' 'teamLinter' 'Invoke-AvmGitHubTeamLinter.ps1')

$functionInput = @{
ModuleIndex = 'Terraform-Pattern'
TeamFilter = 'AllTerraformPattern'
ValidateTerraformTeamsPermissons = $true
}

$branch = git branch --show-current
$branchName = $branch.split('/')[-1]
if ($branchName -eq "main"){
$functionInput['CreateIssues'] = $true
}

Write-Verbose 'Invoke task with' -Verbose
Write-Verbose ($functionInput | ConvertTo-Json | Out-String) -Verbose

Invoke-AvmGitHubTeamLinter @functionInput -Verbose
env:
GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}
2 changes: 0 additions & 2 deletions docs/content/help-support/issue-triage/avm-issue-triage.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,6 @@ If requestor is interested in becoming a module owner, but is not a Microsoft FT

1. If the requestor indicated they didn't want to or can't become a module owner (or is not a Microsoft FTE), make sure the &nbsp;<mark style="background-image:none;white-space: nowrap;background-color:#FF0019;color:white;">Needs: Module Owner 📣</mark>&nbsp; label is assigned to the issue. Note: the GitHub Policy Service Bot should automatically do this, based on how the issue author responded to the related question.
1. Move the issue to the "`Looking for owners`" column on the [AVM - Modules Triage](https://aka.ms/avm/moduletriage) GitHub project board.
1. Add a comment on the issue with the `#RFRC` tag to indicate that the repository should be created. This allows the module to be added the module indexes in the `Proposed` state, so that it can be found by the community and potential module owners.
1. Find module owners - if the requestor didn't volunteer in the module proposal OR the requestor does not want or cannot be owner of the module:
- Try to find an owner from the AVM communities or await a module owner to comment and propose themselves on the proposal issue.
1. When a new potential owner is identified, continue with the steps described [as follows](#scenario-2-requestor-wants-to-and-can-become-module-owner).
Expand Down Expand Up @@ -105,7 +104,6 @@ You **MUST** still confirm that the requestor is a Microsoft FTE and that they u
3. Once module owner identified has confirmed they understand and accept their roles and responsibilities as an AVM module owner
- Make sure the issue is assigned to the confirmed module owner.
- Move the issue into the "`In development`" column on the [AVM - Modules Triage](https://aka.ms/avm/moduletriage) GitHub Project board.
- Add a comment on the issue with the `#RFRC` tag to indicate that the repository should be created. This allows the module to be added the module indexes in the `Proposed` state, so that it can be found by the community.
- Make sure the &nbsp;<mark style="background-image:none;white-space: nowrap;background-color:#FBEF2A;">Status: Owners Identified 🤘</mark>&nbsp; label is added to the issue.
- If applied earlier, remove the &nbsp;<mark style="background-image:none;white-space: nowrap;background-color:#FF0019;color:white;">Needs: Module Owner 📣</mark>&nbsp; label from the issue.
- Remove the labels of &nbsp;<mark style="background-image:none;white-space: nowrap;background-color:#FBCA04;">Needs: Triage 🔍</mark>&nbsp; and &nbsp;<mark style="background-image:none;white-space: nowrap;background-color:#E4E669;">Status: In Triage 🔍</mark>&nbsp; to indicate you're done with triaging the issue.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -621,20 +621,6 @@ Inform module owners that they need to add the &nbsp;<mark style="background-ima

### ITA26

Add a label for the AVM Core Team to query called &nbsp;<mark style="background-image:none;white-space: nowrap;background-color:#136A41;color:white;">Status: Ready For Repository Creation 📝</mark>&nbsp; when a module owner adds a comment to the issue to tell them.

**Trigger criteria:**

- A comment is added to an issue that contains the `#RFRC` tag.

**Action(s):**

- Adds the &nbsp;<mark style="background-image:none;white-space: nowrap;background-color:#136A41;color:white;">Status: Ready For Repository Creation 📝</mark>&nbsp; label to the Issue.

---

### ITA27

Add a comment to a PR that modifies these files based on the regex pattern, advising to disable GitHub Actions prior to merging:

- ".github/actions/templates/avm-**"
Expand Down Expand Up @@ -705,5 +691,4 @@ The ITA05 rule is currently disabled in the AVM and BRM repositories.
| [ITA22](#ita22) | | ✔️ | ✔️ |
| [ITA23](#ita23) | ✔️ | | ✔️ |
| [ITA25](#ita25) | | ✔️ | |
| [ITA26](#ita26) | ✔️ | | |
| [ITA27](#ita27) | | ✔️ | |
| [ITA26](#ita26) | | ✔️ | |
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,10 @@ tags: [
Type-NonFunctional, # SINGLE VALUE: this can be "Type-Functional" OR "Type-NonFunctional"
Category-Contribution/Support, # SINGLE VALUE: this can be "Category-Testing" OR "Category-Telemetry" OR "Category-Contribution/Support" OR "Category-Documentation" OR "Category-CodeStyle" OR "Category-Naming/Composition" OR "Category-Inputs/Outputs" OR "Category-Release/Publishing"
Language-Bicep, # MULTIPLE VALUES: this can be "Language-Bicep" AND/OR "Language-Terraform"
Language-Terraform, # MULTIPLE VALUES: this can be "Language-Bicep" AND/OR "Language-Terraform"
Severity-MUST, # SINGLE VALUE: this can be "Severity-MUST" OR "Severity-SHOULD" OR "Severity-MAY"
Persona-Owner, # MULTIPLE VALUES: this can be "Persona-Owner" AND/OR "Persona-Contributor"
Lifecycle-Initial, # SINGLE VALUE: this can be "Lifecycle-Initial" OR "Lifecycle-BAU" OR "Lifecycle-EOL"
Validation-TBD # SINGLE VALUE (PER LANGUAGE): for Bicep, this can be "Validation-BCP/Manual" OR "Validation-BCP/CI/Informational" OR "Validation-BCP/CI/Enforced" and for Terraform, this can be "Validation-TF/Manual" OR "Validation-TF/CI/Informational" OR "Validation-TF/CI/Enforced"
Validation-TBD # SINGLE VALUE (PER LANGUAGE): this can be "Validation-BCP/Manual" OR "Validation-BCP/CI/Informational" OR "Validation-BCP/CI/Enforced" and for Terraform, this can be "Validation-TF/Manual" OR "Validation-TF/CI/Informational" OR "Validation-TF/CI/Enforced"
]
priority: 1110
---
Expand All @@ -31,8 +30,6 @@ The names for the GitHub teams for each approved module are already defined in t

- [Bicep Resource Modules]({{% siteparam base %}}/indexes/bicep/bicep-resource-modules/#module-name-telemetry-id-prefix-github-teams-for-owners--contributors)
- [Bicep Pattern Modules]({{% siteparam base %}}/indexes/bicep/bicep-pattern-modules/#module-name-telemetry-id-prefix-github-teams-for-owners--contributors)
- [Terraform Resource Modules]({{% siteparam base %}}/indexes/terraform/tf-resource-modules/#module-name-telemetry-id-prefix-github-teams-for-owners--contributors)
- [Terraform Pattern Modules]({{% siteparam base %}}/indexes/terraform/tf-pattern-modules/#module-name-telemetry-id-prefix-github-teams-for-owners--contributors)

The `@Azure` prefix in the last column of the tables linked above represents the "Azure" GitHub organization all AVM-related repositories exist in. **DO NOT** include this segment in the team's name!

Expand All @@ -46,8 +43,8 @@ Non-FTE / external contributors (subject matter experts that aren't Microsoft em

The naming convention for the GitHub teams **MUST** follow the below pattern:

- `<hyphenated module name>-module-owners-<bicep/tf>` - to be assigned as the GitHub repository's `Module Owners` team
- `<hyphenated module name>-module-contributors-<bicep/tf>` - to be assigned as the GitHub repository's `Module Contributors` team
- `<hyphenated module name>-module-owners-bicep` - to be assigned as the GitHub repository's `Module Owners` team
- `<hyphenated module name>-module-contributors-bicep` - to be assigned as the GitHub repository's `Module Contributors` team

{{% notice style="note" %}}
The naming convention for Bicep modules is slightly different than the naming convention for their respective GitHub teams.
Expand All @@ -59,12 +56,12 @@ Segments:
- See [RMNFR1]({{% siteparam base %}}/spec/RMNFR1) for AVM Resource Module Naming
- See [PMNFR1]({{% siteparam base %}}/spec/PMNFR1) for AVM Pattern Module Naming
- `module-owners` or `module-contributors` == the role the GitHub Team is assigned to
- `<bicep/tf>` == the language the module is written in
- `bicep` == the language the module is written in

Examples:

- `avm-res-compute-virtualmachine-module-owners-bicep`
- `avm-res-compute-virtualmachine-module-contributors-tf`
- `avm-res-compute-virtualmachine-module-contributors-bicep`

### Add Team Members

Expand Down Expand Up @@ -124,16 +121,7 @@ Every `CODEOWNERS` entry (line) **MUST** include the following segments separate

Example - `CODEOWNERS` entry for the Bicep resource module of Azure Virtual Network (`avm/res/network/virtual-network`):

- `/avm/res/network/virtual-network/ @Azure/avm-res-network-virtualnetwork-module-owners-bicep @Azure/avm-module-reviewers-bicep`

### Grant Permissions - Terraform

Module owners **MUST** assign the `-module-owners-`and `-module-contributors-` teams the necessary permissions on their Terraform module repository per the guidance below.

| GitHub Team Name | Description | Permissions | Permissions granted through | Where to work? |
|----------------------------------------|---------------------------------------------------|-------------|-----------------------------|-----------------------------------------------------------------------------------------------|
| `<module name>-module-owners-tf` | AVM Terraform Module Owners - \<module name> | **Admin** | Direct assignment to repo | Module owner can decide whether they want to work in a branch local to the repo or in a fork. |
| `<module name>-module-contributors-tf` | AVM Terraform Module Contributors - \<module name> | **Write** | Direct assignment to repo | Need to work in a fork. |
- `/avm/res/network/virtual-network/ @Azure/avm-res-network-virtualnetwork-module-owners-bicep @Azure/avm-module-reviewers-bicep` |

{{% notice style="tip" %}}
Direct link to create a new GitHub team: [Create new team](https://github.com/orgs/Azure/new-team)
Expand Down
8 changes: 6 additions & 2 deletions docs/content/specs-defs/team-definitions.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,10 @@ Module owners are responsible for:
- Module Feature Request Triage & Additions
4. **Managing additional module contributors**

Ideally there **SHOULD** be at least 2 module owners per module who **MUST** be added to a [GitHub Team in the `Azure` organization.]({{%siteparam base%}}/spec/SNFR20/)
Ideally there **SHOULD** be at least 2 module owners per module:

- Bicep: Owners **MUST** be added to a [GitHub Team in the `Azure` organization.]({{%siteparam base%}}/spec/SNFR20/)
- Terraform: Owners **MUST** add themselves to the Azure Verified Module Owners Terraform entitlement in Core Identity.

### Module Contributors

Expand All @@ -68,7 +71,8 @@ Module Contributors are responsible for:

- Assisting the Module Owners with their responsibilities

Module Contributors **MUST** be added to a separate [GitHub Team in the `Azure` organization]({{%siteparam base%}}/spec/SNFR20/) that the Module Owners manage and are maintainers of.
- Bicep: Module Contributors **MUST** be added to a separate [GitHub Team in the `Azure` organization]({{%siteparam base%}}/spec/SNFR20/) that the Module Owners manage and are maintainers of.
- Terraform: Contributors **MUST** add themselves to the Azure Verified Module Owners Terraform entitlement in Core Identity.

### Product Groups

Expand Down
Loading