Repo File Sync: Synced file(s) with microsoft/mu_devops (#186)

Signed-off-by: Project Mu UEFI Bot <uefibot@microsoft.com>
This commit is contained in:
Project Mu Uefibot 2022-12-19 14:36:55 -08:00 коммит произвёл GitHub
Родитель fec80e6966
Коммит 7cbd3a3d04
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
12 изменённых файлов: 179 добавлений и 5 удалений

Просмотреть файл

@ -17,7 +17,7 @@ resources:
type: github
endpoint: microsoft
name: microsoft/mu_devops
ref: refs/tags/v1.1.1
ref: refs/tags/v1.3.0
variables:
- group: architectures-arm64-x86-64
@ -37,3 +37,4 @@ jobs:
tool_chain_tag: $(tool_chain_tag)
vm_image: ubuntu-latest
container_build: true

Просмотреть файл

@ -17,7 +17,7 @@ resources:
type: github
endpoint: microsoft
name: microsoft/mu_devops
ref: refs/tags/v1.1.1
ref: refs/tags/v1.3.0
variables:
- group: architectures-x86-64

48
.github/advanced-issue-labeler.yml поставляемый Normal file
Просмотреть файл

@ -0,0 +1,48 @@
# Defines the mappings between GitHub issue responses and labels applied to the issue
# for Project Mu repos.
#
# IMPORTANT: Only use labels defined in the .github/Labels.yml file in this repo.
#
# NOTE: This file is automatically synchronized from Mu DevOps. Update the original file there
# instead of the file in this repo.
#
# - Mu DevOps Repo: https://github.com/microsoft/mu_devops
# - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml
#
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
# For more information, see:
# https://github.com/redhat-plumbers-in-action/advanced-issue-labeler
policy:
- template: [bug_report.yml, documentation_request.yml, feature_request.yml]
section:
# Issue Template - Urgency Dropdown
- id: ['urgency']
block-list: []
label:
- name: 'urgency:low'
keys: ['Low']
- name: 'urgency:medium'
keys: ['Medium']
- name: 'urgency:high'
keys: ['High']
# Issue Template - Fix Owner Dropdown
- id: ['fix_owner', 'request_owner']
block-list: []
label:
- name: 'state:needs-owner'
keys: [
'Someone else needs to fix it',
'Someone else needs to make the change',
'Someone else needs to implement the feature'
]
- name: 'state:needs-triage'
keys: [
'Someone else needs to fix it',
'Someone else needs to make the change',
'Someone else needs to implement the feature'
]

6
.github/pull_request_template.md поставляемый
Просмотреть файл

@ -1,3 +1,9 @@
# Preface
Please ensure you have read the [contribution docs](https://github.com/microsoft/mu/blob/master/CONTRIBUTING.md) prior
to submitting the pull request. In particular,
[pull request guidelines](https://github.com/microsoft/mu/blob/master/CONTRIBUTING.md#pull-request-best-practices).
## Description
<_Please include a description of the change and why this change was made._>

39
.github/workflows/auto-merge.yml поставляемый Normal file
Просмотреть файл

@ -0,0 +1,39 @@
# This workflow automatically merges pull requests under certain conditions.
#
# NOTE: This file is automatically synchronized from Mu DevOps. Update the original file there
# instead of the file in this repo.
#
# NOTE: This file uses a reusable workflow. Do not make changes to the file that should be made
# in the common/reusable workflow.
#
# - Mu DevOps Repo: https://github.com/microsoft/mu_devops
# - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml
#
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
name: Auto Merge Pull Request
on:
pull_request_target:
types:
- edited
- labeled
- opened
- ready_for_review
- reopened
- synchronize
- unlabeled
- unlocked
pull_request_review:
types:
- submitted
check_suite:
types:
- completed
status: {}
jobs:
merge_check:
uses: microsoft/mu_devops/.github/workflows/AutoMerger.yml@v1.3.0

2
.github/workflows/label-issues.yml поставляемый
Просмотреть файл

@ -31,4 +31,4 @@ on:
jobs:
apply:
uses: microsoft/mu_devops/.github/workflows/Labeler.yml@v1.1.1
uses: microsoft/mu_devops/.github/workflows/Labeler.yml@v1.3.0

Просмотреть файл

@ -1,5 +1,11 @@
# Specifies labels to apply to issues and pull requests based on file path patterns in Project Mu repositories.
#
# NOTE: This file is automatically synchronized from Mu DevOps. Update the original file there
# instead of the file in this repo.
#
# - Mu DevOps Repo: https://github.com/microsoft/mu_devops
# - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml
#
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: BSD-2-Clause-Patent
#

Просмотреть файл

@ -1,5 +1,11 @@
# Specifies labels to apply to pull requests in Project Mu repositories based on regular expressions.
#
# NOTE: This file is automatically synchronized from Mu DevOps. Update the original file there
# instead of the file in this repo.
#
# - Mu DevOps Repo: https://github.com/microsoft/mu_devops
# - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml
#
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: BSD-2-Clause-Patent
#

2
.github/workflows/label-sync.yml поставляемый
Просмотреть файл

@ -24,4 +24,4 @@ on:
jobs:
sync:
uses: microsoft/mu_devops/.github/workflows/LabelSyncer.yml@v1.1.1
uses: microsoft/mu_devops/.github/workflows/LabelSyncer.yml@v1.3.0

2
.github/workflows/stale.yml поставляемый
Просмотреть файл

@ -24,4 +24,4 @@ on:
jobs:
check:
uses: microsoft/mu_devops/.github/workflows/Stale.yml@v1.1.1
uses: microsoft/mu_devops/.github/workflows/Stale.yml@v1.3.0

22
.github/workflows/triage-issues.yml поставляемый Normal file
Просмотреть файл

@ -0,0 +1,22 @@
# This workflow assists with initial triage of new issues by applying
# labels based on data provided in the issue.
#
# NOTE: This file is automatically synchronized from Mu DevOps. Update the original file there
# instead of the file in this repo.
#
# - Mu DevOps Repo: https://github.com/microsoft/mu_devops
# - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml
#
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
name: Initial Triage for New Issue
on:
issues:
types: [ opened ]
jobs:
sync:
uses: microsoft/mu_devops/.github/workflows/IssueTriager.yml@v1.3.0

Просмотреть файл

@ -46,6 +46,52 @@ If you cannot find an existing issue that describes your bug or feature, create
Please continue to follow your request after it is submitted to assist with any additional information that might be
requested.
### Pull Request Best Practices
Pull requests for UEFI code can become large and difficult to review due to the large number of build and
configuration files. To aid maintainers in reviewing your code, we suggest adhering to the following guidelines:
1. Do keep code reviews single purpose; don't add more than one feature at a time.
2. Do fix bugs independently of adding features.
3. Do provide documentation and unit tests.
4. Do introduce code in digestible amounts.
* If the contribution logically be broken up into separate pull requests that independently build and function
successfully, do use multiple pull requests.
#### Code Categories
To keep code digestible, you may consider breaking large pull requests into three categories of commits within the pull
request.
1. **Interfaces**: .h, .inf, .dec, documentation
2. **Implementation**: .c, unit tests, unit test build file; unit tests should build and run at this point
3. **Integration/Build**: .dec, .dsc, .fdf, (.yml) configuration files, integration tests; code added to platform and
affects downstream consumers
By breaking the pull request into these three categories, the pull request reviewers can digest each piece
independently.
If your commits are still very large after adhering to these categories, consider further breaking the pull request
down by library/driver; break each component into its own commit.
#### Implementation Limits
Implementation is ultimately composed of functions as logical units of code.
To help maintainers review the code and improve long-term maintainability, limit functions to 60 lines of code. If your
function exceeds 60 lines of code, it likely has also exceeded a single responsibility and should be broken up.
Files are easier to review and maintain if they contain functions that serves similar purpose. Limit files to around
1,000 lines of code (excluding comments). If your file exceeds 1,000 lines of code, it may have functions that should
be split into separate files.
---
By following these guidelines, your pull requests will be reviewed faster, and you'll avoid being asked to refactor the
code to follow the guidelines.
Feel free to create a draft pull request and ask for suggestions on how to split the pull request if you are unsure.
## Thank You
Thank you for your interest in Project Mu and taking the time to contribute!