Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main' into main-to-nightly-202…
Browse files Browse the repository at this point in the history
…4-11B
  • Loading branch information
lbussell committed Nov 12, 2024
2 parents 3ba7fbf + e77a617 commit 8315c0f
Show file tree
Hide file tree
Showing 376 changed files with 2,333 additions and 2,257 deletions.
48 changes: 0 additions & 48 deletions .github/ISSUE_TEMPLATE/bug-report.md

This file was deleted.

91 changes: 91 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: 🐞 Bug report
description: Create a report about something that is not working
labels: ["untriaged"]
body:
- type: markdown
attributes:
value: |
Please keep in mind that the GitHub issue tracker is not intended as a general support forum, but for reporting **non-security** bugs and feature requests.
If you're reporting the presence of a disclosed security vulnerability, such as a CVE reported in one of our container images, please follow our [vulnerability reporting guidelines](https://github.com/dotnet/dotnet-docker/blob/main/documentation/vulnerability-reporting.md).
If you believe you have an issue that affects the security of .NET, please do NOT create an issue and instead email your issue details to secure@microsoft.com.
Your report may be eligible for our [bug bounty](https://www.microsoft.com/en-us/msrc/bounty-dot-net-core) but ONLY if it is reported through email.
For other types of questions, consider posting to [Discussions](https://github.com/dotnet/dotnet-docker/discussions) or [Stack Overflow](https://stackoverflow.com).
---
- type: markdown
attributes:
value: |
## Description
Please provide a clear and concise description of the bug.
- type: textarea
id: description
attributes:
label: Describe the bug
validations:
required: true

- type: input
id: image
attributes:
label: Which .NET image(s) are you using?
description: Please specify the exact digest if possible; otherwise, provide the tag name
placeholder: mcr.microsoft.com/dotnet/sdk:8.0@sha256:00ab6163f4c8fdf8ea427b1fa9d9d2312ff623d5810577ad73605a07ba67397a

- type: markdown
attributes:
value: |
## Steps to reproduce the bug
Include minimal steps to reproduce the problem or point us to a simple repro project hosted in a GitHub repo.
We may close this issue if:
* We are not able to repro the behavior you're reporting
* The repro project you share with us is too complex
* The repro is in a file attachment such as a zip file
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to reproduce

- type: markdown
attributes:
value: |
## Other Information
Please include any other information that you think is helpful.
* What other issues did you find before opening this one?
* What error messages do you see?
* When does this issue occur? Does it occur consistently?
* Do you know of any workarounds?
* What is the container host OS and version?
- type: textarea
id: other-information
attributes:
label: Other information

- type: textarea
id: docker-version
attributes:
label: Output of `docker version`
description: Paste the output of `docker version` here.
render: console

- type: textarea
id: docker-info
attributes:
label: Output of `docker info`
description: Paste the output of `docker info` here.
render: console

- type: markdown
attributes:
value: Thanks for taking the time to report this!
31 changes: 19 additions & 12 deletions .github/ISSUE_TEMPLATE/releases/dotnet-release-lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Add due dates to each of the issues so that we don't lose track of them.
- 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 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)
Expand Down Expand Up @@ -60,17 +60,24 @@ Add due dates to each of the issues so that we don't lose track of them.

## 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>.
In this repo:

- [ ] Move `latest` tags in `manifest.json` to the new version
- [ ] 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>.
- [ ] Remove suffix "(Release Candidate)" from Featured Tags and replace with "(Long-Term Support)" or "(Standard Support)"

In other repos:

- [ ] 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>

Create announcement:

- [ ] 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)

## EOL

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,37 @@ assignees: lbussell
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/r/microsoft/dotnet) and the [MAR Portal](https://mcr.microsoft.com/en-us/catalog?search=dotnet)

## Determining when to move a new distro to the main branch

According to our [policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md#operating-systems), distros can be moved to the main branch at any time.
However, in the interest of acting predictably and reducing risk, we should operate by the following guidelines:

- The new distro **MUST** be actively tested/validated by other .NET teams. At a minimum, the Runtime must be tested.
- The new distro **SHOULD** be in the `nightly` branch for at least 1 week prior to releasing it in the main branch.
- The new distro **SHOULD** be released to the `main` branch on their release date if possible.
- New distros **may** be released with scheduled .NET servicing if more time is needed for validation.
- New distros **may** release for different architectures/.NET versions at different times if there are blocking issues.
- Alpine images **SHOULD** be released along with scheduled .NET servicing, due to their frequency.

### Case studies

- **Alpine 3.19** - added to `main` after less than 1 week in `nightly`.
- [Released on 2023-12-07](https://www.alpinelinux.org/posts/Alpine-3.19.0-released.html) (Thurs), two days after Patch Tuesday
- [Added to `nightly` on 2024-01-03](https://redirect.github.com/dotnet/dotnet-docker/pull/5065), significantly delayed due to holidays.
- Added to `main` on [2024-01-09](https://redirect.github.com/dotnet/dotnet-docker/discussions/5091), due to the significant delay between Alpine release and next .NET release. Releasing with 2024-02 Patch Tuesday was not desirable.
- **Ubuntu 24.04 "Noble"** - ARM32 release delayed, skipped for .NET 8
- 2024-03-05 - [Added to `nightly`](https://redirect.github.com/dotnet/dotnet-docker/pull/5241)
- 2024-04-25 - [24.04 Released](https://ubuntu.com/blog/canonical-releases-ubuntu-24-04-noble-numbat)
- 2024-04-23 - Discovered issue blocking ARM32 release - [HTTPS requests fail on Ubuntu 24.04 Noble ARM32 due to bundled certs "NotTimeValid" error (dotnet/runtime#101444)](https://redirect.github.com/dotnet/runtime/issues/101444)
- 2024-05-14 - [Noble images added to `main`](https://redirect.github.com/dotnet/dotnet-docker/discussions/5466) (May Patch Tuesday)
- 2024-06-11 - [.NET 9 ARM32 Noble images added to `main`](https://redirect.github.com/dotnet/dotnet-docker/discussions/5557) (June Patch Tuesday) - allowed time for the issue to be fixed in .NET Runtime

## 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
When it's time to move a new distro to the main branch, then do the following:

1. - [ ] Merge the new distro 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, [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.
1. - [ ] Create announcement
- [ ] If the new distro is added for pre-release versions only, include the announcement in the new preview release announcement.
- [ ] If the new distro applies to in-support .NET versions, post a separate announcement. Example: [Alpine 3.20](https://github.com/dotnet/dotnet-docker/discussions/5556)
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ assignees: lbussell

## Nightly Branch Tasks

- [ ] 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.
- [ ] Merge these changes to the nightly branch as part of the nightly branch [release process](./dotnet-release-lifecycle.md) for the next .NET release.
32 changes: 19 additions & 13 deletions .portal-docs/docker-hub/README.aspnet.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# Featured Tags

* `9.0` (Release Candidate)
* `9.0` (Standard Support)
* `docker pull mcr.microsoft.com/dotnet/nightly/aspnet:9.0`
* `8.0` (Long-Term Support)
* `docker pull mcr.microsoft.com/dotnet/nightly/aspnet:8.0`
Expand All @@ -17,18 +17,6 @@ This image contains the ASP.NET Core and .NET runtimes and libraries and is opti

Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements.

## New: Ubuntu Chiseled Images

Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed.
These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications.

Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info.

## ASP.NET Core Composite Images

Starting from .NET 8, ASP.NET Core Composite images are optimized for performance using [ReadyToRun (R2R) compilation](https://learn.microsoft.com/dotnet/core/deploying/ready-to-run).
For more information, see the [composite images section in the Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md#composite-net-80).

# Usage

The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more.
Expand All @@ -54,6 +42,24 @@ See [Hosting ASP.NET Core Images with Docker over HTTPS](https://github.com/dotn
.NET container images have several variants that offer different combinations of flexibility and deployment size.
The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) contains a summary of the image variants and their use-cases.

## Distroless images

.NET "distroless" container images contain only the minimal set of packages .NET needs, with everything else removed.
Due to their limited set of packages, distroless containers have a minimized security attack surface, smaller deployment sizes, and faster start-up time compared to their non-distroless counterparts.
They contain the following features:

* Minimal set of packages required for .NET applications
* Non-root user by default
* No package manager
* No shell

.NET offers distroless images for [Azure Linux](https://github.com/dotnet/dotnet-docker/blob/main/documentation/azurelinux.md) and [Ubuntu (Chiseled)](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md).

## ASP.NET Core Composite Images

Starting from .NET 8, ASP.NET Core Composite images are optimized for performance using [ReadyToRun (R2R) compilation](https://learn.microsoft.com/dotnet/core/deploying/ready-to-run).
For more information, see the [composite images section in the Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md#composite-net-80).

# Related Repositories

.NET:
Expand Down
Loading

0 comments on commit 8315c0f

Please sign in to comment.