Adding instructions to automate CHANGELOG reviews with Copilot#5474
Adding instructions to automate CHANGELOG reviews with Copilot#5474sabbour wants to merge 18 commits intoAzure:masterfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR introduces comprehensive CHANGELOG validation guidelines to automate reviews with Copilot. The new instructions provide detailed standards for release notes formatting, content structure, and Microsoft Style Guide compliance.
Key changes:
- Added comprehensive CHANGELOG.md validation guidelines with templates, examples, and formatting rules
- Added markdownlint-disable comment to blog instructions file for consistency
- Established clear standards for component updates, VHD image references, and documentation links
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
.github/instructions/website.blog.instructions.md |
Added markdownlint-disable comment at the top of the file for consistency with other instruction files |
.github/instructions/changelog.instructions.md |
New comprehensive 620-line guideline document covering release structure templates, section formatting rules, link requirements, Microsoft Style Guide compliance, validation checklists, and common mistakes with examples |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
pauldotyu
left a comment
There was a problem hiding this comment.
LGTM and seems that it cleaned up a lot of the old CHANGELOG.md content to meet the new guidelines.
Should we also include automation to take the latest release note entry in the CHANGELOG.md and create a new release in the GitHub Releases page?
Co-authored-by: Paul Yu <paul.d.yu@gmail.com>
Co-authored-by: Paul Yu <paul.d.yu@gmail.com>
| * Starting on [DATE], [what will happen]. [Action required]. For more information, see [Link Text](URL). | ||
| * [Product/Feature] is now [status]. [Brief description]. Refer to [documentation](URL) for more information. | ||
| * [Feature/Product] (preview) will be retired on [DATE]. [Migration instructions]. For more information, see [Link](URL). | ||
| * AKS Kubernetes version X.XX [standard support will be deprecated/is going out of support] by [DATE]. [Action required]. Refer to [version support policy](URL) and [upgrading a cluster](URL) for more information. |
There was a problem hiding this comment.
We now have a new versions category that we seem to have added, so isn't it better to have all version things there?
There was a problem hiding this comment.
That is a future announcement though. So isn't it better here, assuming we rename that section to be "Announcements of upcoming changes"?
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
| ## Validation Checklist | ||
|
|
||
| Before committing changes to CHANGELOG.md: | ||
|
|
There was a problem hiding this comment.
Make sure that anything that can be in Feature , Preview, Kubernetes versions need not come in the announcements.
| - [ ] Microsoft Learn links don't include `/en-us/` | ||
| - [ ] Component versions are in backticks with release note links | ||
| - [ ] VHD image names are in backticks and use the full Markdown link format (e.g., ``[`AKSUbuntu-2204-202306.26.0`](vhd-notes/aks-ubuntu/AKSUbuntu-2204/202306.26.0.txt)``) | ||
| - [ ] VHD note files exist at the referenced paths |
There was a problem hiding this comment.
Think we should also link to the 'Release tracker - Node images' section which is a more real time view depending on when the Rel notes was seen this is useful.
|
|
||
| --- | ||
|
|
||
| ## Validation Checklist |
There was a problem hiding this comment.
Bug fixes all have a corresponding GH link
|
|
||
| Before committing changes to CHANGELOG.md: | ||
|
|
||
| - [ ] Release date uses `YYYY-MM-DD` format |
There was a problem hiding this comment.
Kubernetes versions - patches, minor versions, deprecations , LTS should all come exclusively in Kubernetes versions section.
| - [ ] Only sections with content are included | ||
| - [ ] Section hierarchy follows template (`###` for main, `####` under Release notes) | ||
| - [ ] Bullet points use `*` consistently | ||
| - [ ] All links use descriptive text (no bare URLs or "click here") |
There was a problem hiding this comment.
Component updates especially for upstream OSS projects should link to the corresponding upstream URL eg: Cilium https://github.com/cilium/cilium/releases
|
|
||
| #### VHD/Node image updates | ||
|
|
||
| Use relative paths to VHD note files. **Validate that referenced files exist in the repository.** VHD image names should be wrapped in backticks, consistent with component version formatting. |
There was a problem hiding this comment.
In similar vein to Jorge's comment above, should we include version deprecations here?
e.g.
* AKS Azure Linux v2 is approaching end of life on...
| @@ -0,0 +1,616 @@ | |||
| <!-- markdownlint-disable --> | |||
There was a problem hiding this comment.
The PR description states "Also updated existing CHANGELOG to reflect the instructions", but there are no changes to CHANGELOG.md shown in this pull request. Either the description is inaccurate, or the CHANGELOG.md changes were made in a separate commit that is not part of this PR. Please clarify whether CHANGELOG.md changes are part of this PR or update the description accordingly.
| ```markdown | ||
| * AKS Azure Linux v2 image has been updated to [`AzureLinux-202510.03.0`](vhd-notes/AzureLinux/202510.03.0.txt). | ||
| * AKS Azure Linux v3 image has been updated to [`AzureLinux-202510.03.0`](vhd-notes/AzureLinuxv3/202510.03.0.txt). | ||
| * AKS Ubuntu 22.04 node image has been updated to [`AKSUbuntu-2204-202510.03.0`](vhd-notes/aks-ubuntu/AKSUbuntu-2204/202510.03.0.txt). |
There was a problem hiding this comment.
The instructions specify that VHD image names should include the full image name format (e.g., AKSUbuntu-2204-202510.03.0), but the actual CHANGELOG.md file uses only the version number (e.g., 202510.03.0).
The PR description states "Also updated existing CHANGELOG to reflect the instructions," but CHANGELOG.md is not included in this PR's changes. Either:
- The instructions should be updated to match the current CHANGELOG.md format (using just version numbers), or
- CHANGELOG.md should be updated in this PR to match the instructions, or
- The PR description should be updated to clarify that CHANGELOG.md updates will come separately
This inconsistency could confuse future contributors about which format to use.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
| #### Versions introduced or graduating to GA | ||
| * Kubernetes Version [X.XX Preview](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-X.XX.md) is being rolled out. | ||
| * Kubernetes Version [X.XX](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-X.XX.md) is now generally available. | ||
| * Kubernetes patch versions [X.XX.X](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-X.XX.X.md), [X.XX.X](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-X.XX.X.md), [X.XX.X](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-X.XX.X.md) are now available. |
There was a problem hiding this comment.
Missing space after the first comma in the Kubernetes patch versions list. This is inconsistent with the example on line 127 which shows proper spacing after commas.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
| ```markdown | ||
| * Starting on 30 November 2025, AKS will no longer support Azure Linux 2.0. Migrate to a supported version by [upgrading your node pools](https://learn.microsoft.com/azure/aks/upgrade-cluster?tabs=azure-cli). For more information, see [\[Retirement\] Azure Linux 2.0 node pools on AKS](https://github.com/Azure/AKS/issues/4988). | ||
| * AKS Kubernetes version 1.31 standard support will be deprecated by November 1, 2025. Kindly upgrade your clusters to 1.32 community version or enable [Long Term Support](https://learn.microsoft.com/azure/aks/long-term-support) with 1.31 in order to continue in the same version. Refer to [version support policy](https://learn.microsoft.com/azure/aks/supported-kubernetes-versions?tabs=azure-cli#kubernetes-version-support-policy) and [upgrading a cluster](https://learn.microsoft.com/azure/aks/upgrade-cluster?tabs=azure-cli) for more information. | ||
| * [Teleport (preview)](https://github.com/Azure/acr/blob/main/docs/teleport/aks-getting-started.md) on AKS will be retired on 15 July 2025, please [migrate to Artifact Streaming (preview) on AKS](https://learn.microsoft.com/azure/aks/artifact-streaming) or update your node pools to set --aks-custom-headers EnableACRTeleport=false. For more information, see [aka.ms/aks/teleport-retirement](https://aka.ms/aks/teleport-retirement). |
There was a problem hiding this comment.
The command line flag --aks-custom-headers should be formatted with backticks according to the Microsoft Style Guide which states "Use backticks for code, component names, and versions" (see Formatting section on line 401). Command line flags and parameters are code elements and should be styled accordingly.
| * [Teleport (preview)](https://github.com/Azure/acr/blob/main/docs/teleport/aks-getting-started.md) on AKS will be retired on 15 July 2025, please [migrate to Artifact Streaming (preview) on AKS](https://learn.microsoft.com/azure/aks/artifact-streaming) or update your node pools to set --aks-custom-headers EnableACRTeleport=false. For more information, see [aka.ms/aks/teleport-retirement](https://aka.ms/aks/teleport-retirement). | |
| * [Teleport (preview)](https://github.com/Azure/acr/blob/main/docs/teleport/aks-getting-started.md) on AKS will be retired on 15 July 2025, please [migrate to Artifact Streaming (preview) on AKS](https://learn.microsoft.com/azure/aks/artifact-streaming) or update your node pools to set `--aks-custom-headers` EnableACRTeleport=false. For more information, see [aka.ms/aks/teleport-retirement](https://aka.ms/aks/teleport-retirement). |
| * App Routing updated to version 0.2.10 with ingress-nginx bumped to [`v1.13.1`](https://github.com/Azure/aks-app-routing-operator/pull/497) addressing [CVE-2025-22874](https://nvd.nist.gov/vuln/detail/CVE-2025-22874), [CVE-2025-47906](https://nvd.nist.gov/vuln/detail/CVE-2025-47906), and [CVE-2025-47907](https://nvd.nist.gov/vuln/detail/CVE-2025-47907). | ||
| * VPA (Vertical Pod Autoscaler) has been updated to [`1.4.2`](https://github.com/kubernetes/autoscaler/releases/tag/vertical-pod-autoscaler-1.4.2) on AKS 1.34. | ||
| * Retina Basic Image has been updated to [`v1.0.0-rc3`](https://github.com/microsoft/retina/releases/tag/v1.0.0-rc3) on both Linux and Windows to resolve [GHSA-2464-8j7c-4cjm](https://github.com/advisories/GHSA-2464-8j7c-4cjm). See [#1824](https://github.com/microsoft/retina/pull/1824) and [#1881](https://github.com/microsoft/retina/pull/1881) for details. | ||
| * [Azure Monitor managed service for Prometheus](https://learn.microsoft.com/azure/azure-monitor/metrics/prometheus-metrics-overview#azure-monitor-managed-service-for-prometheus) addon is updated to the latest release [06-19-2025](https://github.com/Azure/prometheus-collector/blob/main/RELEASENOTES.md#release-06-19-2025). |
There was a problem hiding this comment.
Inconsistent terminology: "addon" should be "add-on" to match the hyphenation used elsewhere in this file (lines 95, 255, 278) and to align with the Microsoft Style Guide which specifies "add-in" should be hyphenated (see .github/copilot-instructions.md:532). This ensures consistent terminology throughout the CHANGELOG instructions.
| * [Azure Monitor managed service for Prometheus](https://learn.microsoft.com/azure/azure-monitor/metrics/prometheus-metrics-overview#azure-monitor-managed-service-for-prometheus) addon is updated to the latest release [06-19-2025](https://github.com/Azure/prometheus-collector/blob/main/RELEASENOTES.md#release-06-19-2025). | |
| * [Azure Monitor managed service for Prometheus](https://learn.microsoft.com/azure/azure-monitor/metrics/prometheus-metrics-overview#azure-monitor-managed-service-for-prometheus) add-on is updated to the latest release [06-19-2025](https://github.com/Azure/prometheus-collector/blob/main/RELEASENOTES.md#release-06-19-2025). |
Also updated existing CHANGELOG to reflect the instructions