Skip to content

Commit 27bbe74

Browse files
carlossanlophoyosjs
andcommitted
Servicing docs improvements (dotnet#85729)
Adding more details to our servicing documentation, particularly around the check-servicing-labels CI leg. Co-authored-by: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com>
1 parent ac2bdf7 commit 27bbe74

File tree

3 files changed

+20
-4
lines changed

3 files changed

+20
-4
lines changed

.github/PULL_REQUEST_TEMPLATE/servicing_pull_request_template.md

+4
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,7 @@ main PR <!-- Link to PR if any that fixed this in the main branch. -->
2121
# Risk
2222

2323
<!-- Please assess the risk of taking this fix. Provide details backing up your assessment. -->
24+
25+
# Package authoring signed off?
26+
27+
IMPORTANT: If this change touches code that ships in a NuGet package, please make certain that you have added any necessary [package authoring](../../docs/project/library-servicing.md) and gotten it explicitly reviewed.

.github/workflows/check-service-labels.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@ jobs:
1313
check-labels:
1414
runs-on: ubuntu-latest
1515
steps:
16-
- name: Check servicing labels
16+
- name: Check 'Servicing-approved' label
1717
run: |
18+
echo "Merging permission is enabled for servicing PRs when the `Servicing-approved` label is applied."
1819
if [ "${{ contains(github.event.pull_request.labels.*.name, 'Servicing-approved') }}" = "true" ]; then
1920
exit 0
2021
else
22+
echo "::error:: 'Servicing-approved' label not applied to the PR yet. More information: https://github.com/dotnet/runtime/blob/main/docs/project/library-servicing.md#approval-process"
2123
exit 1
2224
fi

docs/project/library-servicing.md

+13-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# How to service a library
22

3-
This document provides the steps necessary after modifying a library in a servicing branch.
3+
This document provides the steps that need to be followed after modifying a library in a servicing branch.
44

55
Servicing branches represent shipped versions of .NET, and their name is in the format `release/X.0-staging`. Examples:
66

@@ -41,5 +41,15 @@ All the servicing change must go through an approval process. You have two ways
4141
For both cases, you must:
4242

4343
- Fill out the template of the PR description.
44-
- Add the `servicing-consider` label.
45-
- Bring it to the attention of the engineering lead responsible for the area, so they consider the fix for servicing.
44+
- Bring it to the attention of the [engineering lead responsible for the area](~/docs/area-owners.md).
45+
- If the fix is a product change, the area owner will:
46+
- Add the `Servicing-consider` label.
47+
- Ask the area owner to champion your PR in the .NET Tactics meeting to request merge approval.
48+
- If the change is approved, they will replace the `Servicing-consider` label by `Servicing-approved` and sign-off the PR.
49+
- If the fix is a test-only or infra-only change, the area owner will:
50+
- Review the PR and sign-off if they approve it.
51+
- Add the `Servicing-approved` label.
52+
53+
The area owner can then merge the PR once the CI looks good (it's either green or the failures are investigated and determined to be unrelated to the PR).
54+
55+
**Note**: Applying the `Servicing-approved` label ensures the `check-service-labels` CI job passes, which is a mandatory requirement for merging a PR in a servicing branch.

0 commit comments

Comments
 (0)