Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
106ff2e
[release/2026-01B] Update syft to v1.38.2 (#6882)
github-actions[bot] Dec 17, 2025
e4feb3e
Fix portal docs root path when multiple repositories are checked out …
lbussell Dec 11, 2025
e2c9509
Replace checklists with a custom agent for managing images (#6871)
lbussell Dec 11, 2025
17c8cc5
[nightly] Update common Docker engineering infrastructure with latest…
dotnet-docker-bot Dec 11, 2025
1f32de2
[nightly] Update common Docker engineering infrastructure with latest…
dotnet-docker-bot Dec 17, 2025
35f78c0
Add documentation for testing options and arm64 builds (#6887)
Copilot Dec 18, 2025
ebb28a8
Use templates instead of matrix jobs for component detection (#6889)
lbussell Dec 18, 2025
d3fd91d
Add PowerShell tests for dotnet SDK images (#6886)
anamnavi Dec 19, 2025
03fe2dc
Disable publishEolAnnotations in core-official.yml to unblock publish…
lbussell Dec 23, 2025
d53dc9a
[nightly] Update syft to v1.39.0 (#6899)
dotnet-docker-bot Dec 23, 2025
377cf30
[nightly] Update common Docker engineering infrastructure with latest…
dotnet-docker-bot Jan 7, 2026
1b918fa
[nightly] Update common Docker engineering infrastructure with latest…
dotnet-docker-bot Jan 7, 2026
415bf91
Update names of registries in publishConfig (#6910)
lbussell Jan 7, 2026
5524914
[nightly] Fix CG pipeline permission error: use writable install path…
github-actions[bot] Jan 8, 2026
c7ed6f4
Add alpine-extra images for runtime and aspnet repos (#6901)
Copilot Jan 8, 2026
682a623
Add strongly-typed OS model in tests (#6893)
lbussell Jan 8, 2026
0e8b9d3
[nightly] Update common Docker engineering infrastructure with latest…
dotnet-docker-bot Jan 8, 2026
297fa6d
[nightly] Update common Docker engineering infrastructure with latest…
dotnet-docker-bot Jan 8, 2026
49adef4
[nightly] Update dependencies from syft (#6911)
dotnet-docker-bot Jan 8, 2026
bbb5091
Skip package tests for unstable OSes (#6894)
lbussell Jan 8, 2026
490ebb4
Update tests and templates from .NET 11 changes
lbussell Dec 18, 2025
13baace
Only show .NET 11 featured tags on nightly branch
lbussell Jan 9, 2026
b2e0364
Update public-checksums url definitions
lbussell Jan 9, 2026
1a67806
[release/2026-01B] Port changes from nightly branch for January 2026 …
lbussell Jan 9, 2026
d42e2b8
[release/2026-01B] Move Alpine floating tags from 3.22 to 3.23 (#6921)
lbussell Jan 9, 2026
ce0d7d1
[release/2026-01B] Update common Docker engineering infrastructure wi…
github-actions[bot] Jan 12, 2026
849a7bf
Update .NET 8.0 to 8.0.417/8.0.23
lbussell Jan 12, 2026
9d42ab2
Update .NET 9.0 to 9.0.309/9.0.12
lbussell Jan 12, 2026
5d47c9f
Update .NET 10.0 to 10.0.102/10.0.2
lbussell Jan 12, 2026
9ee37d5
Merge branch 'main' into release/2026-01B-updates
lbussell Jan 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
32 changes: 32 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,12 @@ The [`build-and-test.ps1`](https://github.com/dotnet/dotnet-docker/blob/main/bui
> ./build-and-test.ps1 -Version 9.0 -OS nanoserver-1809 -Mode Test
```

- Build and test images on an arm64 device (e.g. Apple Silicon Mac or Linux ARM64 machine). Note: The architecture argument must be `arm64`, not `arm64v8`.

``` console
> ./build-and-test.ps1 -Paths '*9.0*noble*' -Architecture arm64
```

### Editing Dockerfiles

The [Dockerfiles](https://github.com/search?q=repo%3Adotnet%2Fdotnet-docker+path%3Asrc%2F**%2FDockerfile&type=code&ref=advsearch) contained in this repo are generated from a set of [Cottle](https://cottle.readthedocs.io/en/stable/page/01-overview.html) based [templates](https://github.com/dotnet/dotnet-docker/tree/main/eng/dockerfile-templates). A single template generates the set of Dockerfiles that are similar (e.g. all Windows sdk Dockerfiles for a particular .NET version). This ensures consistency across the various Dockerfiles and eases the burden of making changes to the Dockerfiles. Instead of editing the Dockerfiles directly, the templates should be updated and then the Dockerfiles should get regenerated by running the [generate Dockerfiles script](https://github.com/dotnet/dotnet-docker/blob/main/eng/dockerfile-templates/Get-GeneratedDockerfiles.ps1).
Expand Down Expand Up @@ -105,6 +111,32 @@ There are several types of [tests](https://github.com/dotnet/dotnet-docker/tree/

When editing Dockerfiles, please ensure the appropriate test changes are also made.

#### Running Tests Without Building Images

If you want to test images that have already been built and published to a registry (e.g. official images from `mcr.microsoft.com`), you can run tests without building first by using the `-PullImages` argument with the `run-tests.ps1` script:

- Run tests against published images without building locally:

``` console
> ./tests/run-tests.ps1 -PullImages -Paths '*9.0*noble*'
```

#### Running Specific Tests

To run specific tests, use the `-CustomTestFilter` argument with either `run-tests.ps1` or `build-and-test.ps1`. This argument accepts [Xunit test filtering](https://learn.microsoft.com/dotnet/core/testing/selective-unit-tests?pivots=xunit) expressions:

- Run a specific test by name:

``` console
> ./tests/run-tests.ps1 -Paths '*9.0*noble*' -CustomTestFilter "FullyQualifiedName~VerifyEnvironmentVariables"
```

- Run tests using `build-and-test.ps1` with a custom filter:

``` console
> ./build-and-test.ps1 -Paths '*9.0*noble*' -Mode Test -CustomTestFilter "FullyQualifiedName~VerifyPackageInstallation"
```

#### Debugging Tests Using VS Code

This repo comes with VS Code Task and Launch Profiles to help you debug tests.
Expand Down
322 changes: 179 additions & 143 deletions README.aspnet.md

Large diffs are not rendered by default.

186 changes: 93 additions & 93 deletions README.runtime-deps.md

Large diffs are not rendered by default.

200 changes: 109 additions & 91 deletions README.runtime.md

Large diffs are not rendered by default.

130 changes: 65 additions & 65 deletions README.sdk.md

Large diffs are not rendered by default.

11 changes: 8 additions & 3 deletions build-and-test.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ param(
# Categories of tests to run
[ValidateSet("runtime", "runtime-deps", "aspnet", "sdk", "pre-build", "sample", "monitor", "aspire-dashboard")]
[string[]]$TestCategories = @("runtime", "runtime-deps", "aspnet", "sdk", "monitor", "aspire-dashboard")

# Custom test filter expression
[string]$CustomTestFilter
)

[System.Collections.ArrayList]$TestCategories = $TestCategories
Expand All @@ -42,7 +45,7 @@ if (($Mode -eq "BuildAndTest" -or $Mode -eq "Test")) {

if ($TestCategories.Contains("pre-build"))
{
& ./tests/run-tests.ps1 -TestCategories "pre-build" -Version "*"
& ./tests/run-tests.ps1 -TestCategories "pre-build" -Version "*" -CustomTestFilter $CustomTestFilter
$TestCategories.Remove("pre-build")
}
else
Expand Down Expand Up @@ -103,12 +106,14 @@ if ($Mode -eq "BuildAndTest" -or $Mode -eq "Test") {
& ./tests/run-tests.ps1 `
-Architecture $Architecture `
-Paths $Paths `
-TestCategories $localTestCategories
-TestCategories $localTestCategories `
-CustomTestFilter $CustomTestFilter
} else {
& ./tests/run-tests.ps1 `
-Version $TestVersion `
-OSVersions @($OS) `
-Architecture $Architecture `
-TestCategories @localTestCategories
-TestCategories @localTestCategories `
-CustomTestFilter $CustomTestFilter
}
}
Loading
Loading