Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge main to nightly #5828

Merged
merged 10 commits into from
Aug 23, 2024
Merged
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
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
name: 🐞 Bug report
about: Create a report about something that is not working
labels: 'bug,untriaged'
title:
---

<!--
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
name: 💡 Feature request
about: Suggest an idea for this project
labels: 'enhancement,untriaged'
title:
---

### Describe the Problem
Expand Down
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/new-distro-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ assignees: lbussell
1. - [ ] Copy the Dockerfiles of the most recent version of that distro (or author new ones for an entirely new distro) and place them in a version-specific folder under their respective variants (runtime-deps, runtime, aspnet, sdk). Note: not all variants have a corresponding runtime-deps image.
1. - [ ] Modify the Dockerfiles as appropriate for any specific changes related to the new distro version
1. - [ ] Update [manifest.json](https://github.com/dotnet/dotnet-docker/blob/nightly/manifest.json) to reference the new set of Dockerfiles with the appropriate tags
- [ ] Move any distro-specific floating tags to the newer version (e.g. `6.0-alpine`)
- [ ] For Alpine Linux, make sure to only update the floating tags according to our [policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md). Only move the floating tags in the nightly branch if they should be updated in main for the next servicing release.
1. - [ ] Update the [test data](https://github.com/dotnet/dotnet-docker/blob/nightly/tests/Microsoft.DotNet.Docker.Tests/TestData.cs) to include the new distro version
1. - [ ] Update the [tags metadata templates](https://github.com/dotnet/dotnet-docker/tree/main/eng/mcr-tags-metadata-templates) to include the new distro version
1. - [ ] Run the command to update the READMEs: `.\eng\readme-templates\Get-GeneratedReadmes.ps1`
Expand All @@ -28,10 +28,10 @@ assignees: lbussell
1. - [ ] Get PR signoff
1. - [ ] Merge PR to nightly branch
1. - [ ] Wait for automatically queued CI build to finish on [dotnet-docker-nightly pipeline](https://dev.azure.com/dnceng/internal/_build?definitionId=359) (internal MSFT link)
1. - [ ] Confirm READMEs have been updated in [Docker Hub](https://hub.docker.com/_/microsoft-dotnet)
1. - [ ] Confirm READMEs have been updated in [Docker Hub](https://hub.docker.com/r/microsoft/dotnet)

## Main Branch Tasks

1. - [ ] After the product teams have signed off on the new distro, merge these changes to the main branch as part of the [release process](https://github.com/dotnet/release/blob/main/.github/ISSUE_TEMPLATE/dotnet-docker-servicing-release.md) for the next .NET release
- [ ] For Alpine, follow the [policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) to only update the floating `alpine` tag one month after the release of the new Alpine version. Since nightly will already have the floating tag updated, the initial release of the new Alpine version to main will need to account for this and keep it set to the older version for one month.
- [ ] For Alpine, [file an issue](https://github.com/dotnet/dotnet-docker/issues/new?body=In+the+MMMM+YYYY+servicing+release%2C+%5BAlpine+3.XX+container+images+were+published%5D%28link+to+announcement%29.+In+the+MMMM+YYYY+servicing+release%2C+all+Alpine+floating+tags+were+updated+to+target+Alpine+3.XX+instead+of+Alpine+3.XX-1+according+to+our+%5Btagging+policy%5D%28https%3A%2F%2Fgithub.com%2Fdotnet%2Fdotnet-docker%2Fblob%2Fmain%2Fdocumentation%2Fsupported-tags.md%29.%0D%0A%0D%0APer+the+%5B.NET+Docker+platform+support+policy%5D%28https%3A%2F%2Fgithub.com%2Fdotnet%2Fdotnet-docker%2Fblob%2Fmain%2Fdocumentation%2Fsupported-platforms.md%23linux%29%2C+Alpine+3.XX+images+will+no+longer+be+maintained+starting+on+YYYY-MM-DD.+This+issue+tracks+removing+those+Dockerfiles.%0D%0A%0D%0ARelated%3A+link+to+PR+adding+Alpine+3.XX&title=Remove+Alpine+3.XX+Dockerfiles) to update the floating `alpine` tag according to our [policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md).
1. - [ ] Create an announcement (example: [Alpine 3.10](https://github.com/dotnet/dotnet-docker/issues/1418)) unless the new distro is added only for pre-release versions in which the announcement would be incorporated in the pre-release notes.
6 changes: 1 addition & 5 deletions .github/ISSUE_TEMPLATE/new-windows-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ labels: docker
assignees: lbussell
---

# New Windows Release

Windows version: &lt;version&gt;

## Main Branch Tasks

1. - [ ] Ensure a ["New Windows Release" issue](https://github.com/dotnet/docker-tools/blob/main/.github/ISSUE_TEMPLATE/releases/new-windows-release.md) exists for docker-tools repo
Expand All @@ -36,4 +32,4 @@ Windows version: &lt;version&gt;

## Nightly Branch Tasks

- [ ] Merge these changes to the nightly branch as part of the nightly branch [release process](dotnet-release.md) for the next .NET release.
- [ ] Merge these changes to the nightly branch as part of the nightly branch [release process](releases/dotnet-release-lifecycle.md) for the next .NET release.
108 changes: 57 additions & 51 deletions .github/ISSUE_TEMPLATE/releases/dotnet-release-lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,74 +6,80 @@ File all release and pre-release issues at once when a new .NET version is in Al
File an issue for removing an EOL .NET version *after* its last release, so that it can be removed before the next release.
Add due dates to each of the issues so that we don't lose track of them.

### Breaking changes
## Breaking changes

- For each breaking change made throughout development, file a new issue using the ".NET breaking change" template in the [dotnet/docs repo](https://github.com/dotnet/docs/issues/new/choose).
- List any breaking change issues created below:

## Alpha

- [ ] Add new .NET version images to `nightly` branch
- [ ] Create new images
- [ ] Add entries for the new .NET versions in `manifest.versions.json`
- [ ] Add new images for the new .NET version in each repo in `manifest.json`
- [ ] Move `latest` tags to the new .NET version
- [ ] Floating tags should have a `-preview` suffix (https://github.com/dotnet/dotnet-docker/issues/4117). For example: `9.0-preview`.
- For fixed tags, the `-alpha.1` suffixes that is part of the .NET version sufficient and no additional suffix is necessary
- Adjust existing templates or add new templates in `eng/dockerfile-templates/` if necessary
- If there are no major changes between .NET versions, the new images can share `runtime-deps` layers with the previous .NET version
- Include only the latest/LTS version of each operating system according to our [supported operating systems documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md#operating-systems).
- If adding a new OS version, follow the guidelines in [new-distro-release.md](https://raw.githubusercontent.com/dotnet/dotnet-docker/main/.github/ISSUE_TEMPLATE/releases/new-distro-release.md)
- If PowerShell is not yet supported or functional on the new .NET version, file an issue at [PowerShell/PowerShell](https://github.com/PowerShell/PowerShell/issues) or link to an existing issue, exclude PowerShell from the new SDK images, and [file an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) to re-enable PowerShell in .NET Docker images
- [ ] Update tests
- [ ] Add new version info to [ImageVersion.cs](https://github.com/dotnet/dotnet-docker/blob/nightly/tests/Microsoft.DotNet.Docker.Tests/ImageVersion.cs)
- [ ] Update the [test data](https://github.com/dotnet/dotnet-docker/blob/nightly/tests/Microsoft.DotNet.Docker.Tests/TestData.cs) to include the new distro version
- If various tests are not yet functional on the new .NET version, file issues on product team repos as necessary, disable the test with a link to the issue, and file an issue in the dotnet/dotnet-docker repo to re-enable the test
- [ ] Update readmes
- [ ] Update the [MCR tags metadata templates](https://github.com/dotnet/dotnet-docker/tree/main/eng/mcr-tags-metadata-templates) to include the new distro version
- The new tags should be in a preview sub-table, like so: https://github.com/dotnet/dotnet-docker/blob/8fc28db4f706d81a1fd075f2c6b2ca514ae75c84/eng/mcr-tags-metadata-templates/aspnet-tags.yml#L1-L3
- [ ] Update image size baselines
- [ ] Queue a build of the [dotnet-docker-nightly](https://dev.azure.com/dnceng/internal/_build?definitionId=359) pipeline
- [ ] Inspect the image sizes by pulling the new images from the `dotnetdocker` ACR and update the baselines accordingly
- [ ] Create new images
- [ ] Add entries for the new .NET versions in `manifest.versions.json`
- [ ] Add new images for the new .NET version in each repo in `manifest.json`
- [ ] Move `latest` tags to the new .NET version
- [ ] [Floating tags should have a `-preview` suffix](https://github.com/dotnet/dotnet-docker/issues/4117). For example: `9.0-preview`.
- For fixed tags, the `-alpha.1` suffixes that is part of the .NET version sufficient and no additional suffix is necessary
- Adjust existing templates or add new templates in `eng/dockerfile-templates/` if necessary
- If there are no major changes between .NET versions, the new images can share `runtime-deps` layers with the previous .NET version
- Include only the latest/LTS version of each operating system according to our [supported operating systems documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md#operating-systems).
- If adding a new OS version, follow the guidelines in [new-distro-release.md](../new-distro-release.md)
- If PowerShell is not yet supported or functional on the new .NET version, file an issue at [PowerShell/PowerShell](https://github.com/PowerShell/PowerShell/issues) or link to an existing issue, exclude PowerShell from the new SDK images, and [file an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) to re-enable PowerShell in .NET Docker images
- [ ] Update tests
- [ ] Add new version info to [ImageVersion.cs](https://github.com/dotnet/dotnet-docker/blob/nightly/tests/Microsoft.DotNet.Docker.Tests/ImageVersion.cs)
- [ ] Update the [test data](https://github.com/dotnet/dotnet-docker/blob/nightly/tests/Microsoft.DotNet.Docker.Tests/TestData.cs) to include the new distro version
- If various tests are not yet functional on the new .NET version, file issues on product team repos as necessary, disable the test with a link to the issue, and file an issue in the dotnet/dotnet-docker repo to re-enable the test
- [ ] Update readmes
- [ ] Update the [MCR tags metadata templates](https://github.com/dotnet/dotnet-docker/tree/main/eng/mcr-tags-metadata-templates) to include the new distro version
- The new tags should be in a preview sub-table, like so: <https://github.com/dotnet/dotnet-docker/blob/8fc28db4f706d81a1fd075f2c6b2ca514ae75c84/eng/mcr-tags-metadata-templates/aspnet-tags.yml#L1-L3>
- [ ] Update image size baselines
- [ ] Queue a build of the [dotnet-docker-nightly](https://dev.azure.com/dnceng/internal/_build?definitionId=359) pipeline
- [ ] Inspect the image sizes by pulling the new images from the `dotnetdocker` ACR and update the baselines accordingly

## Preview 1

- [ ] Add new .NET version to featured tags in `nightly` branch ([Example PR](https://github.com/dotnet/dotnet-docker/pull/5157))
- [ ] Merge new .NET version images from `nightly` branch to `main`

## RC1
- [ ] Switch to non-preview tagging pattern for new .NET version (https://github.com/dotnet/dotnet-docker/issues/4117)
- [ ] Remove preview suffix from tags in `manifest.json` and/or `manifest.versions.json`
- [ ] Move new version tags out of preview sub-tables in [MCR tags metadata templates](https://github.com/dotnet/dotnet-docker/tree/main/eng/mcr-tags-metadata-templates)
- [ ] In [readme templates](https://github.com/dotnet/dotnet-docker/blob/main/eng/readme-templates/FeaturedTags.md):
- [ ] Switch Featured Tags from "(Preview)" to "(Release Candidate)" in `nightly` branch
- [ ] Add new .NET Version to Featured Tags as "(Release Candidate)" in `main` branch

- [ ] Switch to non-preview tagging pattern for new .NET version (<https://github.com/dotnet/dotnet-docker/issues/4117>)
- [ ] Remove preview suffix from tags in `manifest.json` and/or `manifest.versions.json`
- [ ] Move new version tags out of preview sub-tables in [MCR tags metadata templates](https://github.com/dotnet/dotnet-docker/tree/main/eng/mcr-tags-metadata-templates)
- [ ] In [readme templates](https://github.com/dotnet/dotnet-docker/blob/main/eng/readme-templates/FeaturedTags.md):
- [ ] Switch Featured Tags from "(Preview)" to "(Release Candidate)" in `nightly` branch
- [ ] Add new .NET Version to Featured Tags as "(Release Candidate)" in `main` branch
- [ ] Move .NET Docker projects to the new .NET version's TFM
- Example issue: https://github.com/dotnet/docker-tools/issues/1181
- [Example issue](https://github.com/dotnet/docker-tools/issues/1181)
- [ ] Update samples to new .NET version
- Consider creating new samples to feature new .NET or .NET Docker features
- [ ] Update documentation as necessary to reference the new .NET version
- [ ] Update IIS sample URL to preview version of `dotnet-hosting-win.exe` (`/dotnet/<version>/preview/`): https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/Dockerfile.windowsservercore-iis#L19.
- Consider creating new samples to feature new .NET or .NET Docker features
- [ ] Update documentation as necessary to reference the new .NET version
- [ ] Update IIS sample URL to preview version of `dotnet-hosting-win.exe` (`/dotnet/<version>/preview/`): <https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/Dockerfile.windowsservercore-iis#L19>.
- [ ] Review supported OS versions for new .NET version before release
- Include only the latest/LTS version of each operating system according to our [supported operating systems documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md#operating-systems).
- Include only the latest/LTS version of each operating system according to our [supported operating systems documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md#operating-systems).

## GA

- [ ] New .NET version GA tasks (one issue)
- [ ] Move `latest` tags in `manifest.json` to the new version
- Relevant issue: https://github.com/dotnet/dotnet-docker/issues/2316
- [ ] Add the new .NET version to the .NET Framework SDK image
- [ ] https://github.com/microsoft/dotnet-framework-docker/blob/6a3c9d048f75c1e69c0e1059564cd56a90bf9e3c/eng/dockerfile-templates/sdk/Dockerfile#L56-L59
- [ ] https://github.com/microsoft/dotnet-framework-docker/blob/58a18cf958883c6a67ae888854bd9bb09f085e83/eng/dockerfile-templates/sdk/Dockerfile.ltsc2016#L80-L81
- [ ] Post a new announcement on the [GitHub Discussions page](https://github.com/dotnet/dotnet-docker/discussions/new?category=announcements) page and pin the announcement
- Include new .NET Docker features and breaking changes and defer to other official .NET documentation/announcements for other features
- Example announcement: https://github.com/dotnet/dotnet-docker/discussions/4995
- [ ] Update documentation as necessary to reference the new .NET version
- [ ] Update IIS sample URL to final version of `dotnet-hosting-win.exe` (remove "preview" from the URL): https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/Dockerfile.windowsservercore-iis#L19.
- [ ] Move `latest` tags in `manifest.json` to the new version
- [Relevant issue](https://github.com/dotnet/dotnet-docker/issues/2316)
- [ ] Add the new .NET version to the .NET Framework SDK image
- [ ] <https://github.com/microsoft/dotnet-framework-docker/blob/6a3c9d048f75c1e69c0e1059564cd56a90bf9e3c/eng/dockerfile-templates/sdk/Dockerfile#L56-L59>
- [ ] <https://github.com/microsoft/dotnet-framework-docker/blob/58a18cf958883c6a67ae888854bd9bb09f085e83/eng/dockerfile-templates/sdk/Dockerfile.ltsc2016#L80-L81>
- [ ] Post a new announcement on the [GitHub Discussions page](https://github.com/dotnet/dotnet-docker/discussions/new?category=announcements) page and pin the announcement
- Include new .NET Docker features and breaking changes and defer to other official .NET documentation/announcements for other features
- [Example announcement](https://github.com/dotnet/dotnet-docker/discussions/4995)
- [ ] Update documentation as necessary to reference the new .NET version
- [ ] Update IIS sample URL to final version of `dotnet-hosting-win.exe` (remove "preview" from the URL): <https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/Dockerfile.windowsservercore-iis#L19>.

## EOL

- [ ] Remove EOL .NET version from `main` and `nightly` branches (one issue)
- [ ] Remove all entries for the EOL .NET version in `manifest.json`, `manifest.versions.json`, [ImageVersion.cs](https://github.com/dotnet/dotnet-docker/blob/nightly/tests/Microsoft.DotNet.Docker.Tests/ImageVersion.cs), [TestData.cs](https://github.com/dotnet/dotnet-docker/blob/nightly/tests/Microsoft.DotNet.Docker.Tests/TestData.cs), [MCR tags metadata templates](https://github.com/dotnet/dotnet-docker/tree/main/eng/mcr-tags-metadata-templates), and delete the Dockerfiles
- [ ] Search for and simplify conditions including the EOL .NET Version in the Dockerfile templates and tests
- [ ] Update the path variable appropriately for the [dotnet-docker-nightly-pr-no-cache](https://dev.azure.com/dnceng-public/public/_build?definitionId=184) pipeline so that it continues to target active Dockerfiles.
- [ ] Replace all references to the EOL .NET version in documentation with a new .NET version
- [ ] Remove the EOL .NET version from the .NET Framework SDK images
- [ ] https://github.com/microsoft/dotnet-framework-docker/blob/6a3c9d048f75c1e69c0e1059564cd56a90bf9e3c/eng/dockerfile-templates/sdk/Dockerfile#L56-L59
- [ ] https://github.com/microsoft/dotnet-framework-docker/blob/58a18cf958883c6a67ae888854bd9bb09f085e83/eng/dockerfile-templates/sdk/Dockerfile.ltsc2016#L80-L81
- [ ] Post a new announcement on the [GitHub Discussions page](https://github.com/dotnet/dotnet-docker/discussions/new?category=announcements)
- [ ] Remove all entries for the EOL .NET version in `manifest.json`, `manifest.versions.json`, [ImageVersion.cs](https://github.com/dotnet/dotnet-docker/blob/nightly/tests/Microsoft.DotNet.Docker.Tests/ImageVersion.cs), [TestData.cs](https://github.com/dotnet/dotnet-docker/blob/nightly/tests/Microsoft.DotNet.Docker.Tests/TestData.cs), [MCR tags metadata templates](https://github.com/dotnet/dotnet-docker/tree/main/eng/mcr-tags-metadata-templates), and delete the Dockerfiles
- [ ] Search for and simplify conditions including the EOL .NET Version in the Dockerfile templates and tests
- [ ] Update the path variable appropriately for the [dotnet-docker-nightly-pr-no-cache](https://dev.azure.com/dnceng-public/public/_build?definitionId=184) pipeline so that it continues to target active Dockerfiles.
- [ ] Replace all references to the EOL .NET version in documentation with a new .NET version
- [ ] Remove the EOL .NET version from the .NET Framework SDK images
- [ ] <https://github.com/microsoft/dotnet-framework-docker/blob/6a3c9d048f75c1e69c0e1059564cd56a90bf9e3c/eng/dockerfile-templates/sdk/Dockerfile#L56-L59>
- [ ] <https://github.com/microsoft/dotnet-framework-docker/blob/58a18cf958883c6a67ae888854bd9bb09f085e83/eng/dockerfile-templates/sdk/Dockerfile.ltsc2016#L80-L81>
- [ ] Post a new announcement on the [GitHub Discussions page](https://github.com/dotnet/dotnet-docker/discussions/new?category=announcements)
Loading
Loading