Skip to content

Update devcontainer to support .NET 9 and .NET 10 - #1843

Open
brendandburns wants to merge 3 commits into
masterfrom
chore/devcontainer-dotnet-9-10
Open

Update devcontainer to support .NET 9 and .NET 10#1843
brendandburns wants to merge 3 commits into
masterfrom
chore/devcontainer-dotnet-9-10

Conversation

@brendandburns

Copy link
Copy Markdown
Contributor

Summary

  • switch .devcontainer/devcontainer.json from a fixed .NET 8 image to a Dockerfile-based build
  • add .devcontainer/Dockerfile based on mcr.microsoft.com/dotnet/sdk:10.0
  • install .NET 9 SDK side-by-side via dotnet-install.sh

Why

The repository currently targets newer TFMs in CI and local workflows. This devcontainer update ensures contributors can build and test net9.0/net10.0 projects from the container environment.

Validation

  • branch builds with updated devcontainer configuration files
  • .NET 9 and .NET 10 SDK availability is provisioned by container build steps

Copilot AI review requested due to automatic review settings July 15, 2026 21:54
@kubernetes-prow
kubernetes-prow Bot requested a review from tg123 July 15, 2026 21:54
@kubernetes-prow

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: brendandburns

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubernetes-prow kubernetes-prow Bot added approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jul 15, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the repository devcontainer to support building/testing projects targeting net9.0 and net10.0 by switching from a fixed .NET 8 SDK image to a Dockerfile-based devcontainer build that includes .NET 10 and installs .NET 9 side-by-side.

Changes:

  • Add a .devcontainer/Dockerfile based on mcr.microsoft.com/dotnet/sdk:10.0 and install the .NET 9 SDK via dotnet-install.sh.
  • Update .devcontainer/devcontainer.json to use "build" (Dockerfile) instead of a fixed "image".
Show a summary per file
File Description
.devcontainer/Dockerfile Introduces a .NET 10-based devcontainer image and installs the .NET 9 SDK side-by-side.
.devcontainer/devcontainer.json Switches devcontainer configuration from an image reference to a Dockerfile build.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 2/2 changed files
  • Comments generated: 2
  • Review effort level: Low

Comment thread .devcontainer/Dockerfile Outdated
Comment thread .devcontainer/devcontainer.json Outdated
Copilot AI review requested due to automatic review settings July 15, 2026 21:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review details

  • Files reviewed: 2/2 changed files
  • Comments generated: 1
  • Review effort level: Low

Comment thread .devcontainer/Dockerfile Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 29, 2026 14:19
@linux-foundation-easycla

Copy link
Copy Markdown

CLA Not Signed

@kubernetes-prow kubernetes-prow Bot added cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. and removed cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Jul 29, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review details

Comments suppressed due to low confidence (2)

.devcontainer/Dockerfile:1

  • The base SDK image is referenced by a floating tag (10.0). That can change over time (OS variant/patch), making the devcontainer build non-reproducible and potentially breaking contributors unexpectedly. Consider pinning to a more specific tag (e.g., 10.0.x-<distro>) or an image digest for determinism.
FROM mcr.microsoft.com/dotnet/sdk:10.0

.devcontainer/Dockerfile:11

  • global.json pins the SDK to 8.0.100 (global.json:3, with rollForward). Using dotnet-install.sh --channel 8.0 installs the latest 8.0 feature band instead of the version the repo requests, which can lead to unexpected SDK selection/drift across rebuilds. If the intent is to align with global.json, install the exact SDK version instead of the channel (and consider similarly pinning the 9.0 install if you want deterministic rebuilds).
    /tmp/dotnet-install.sh --channel 9.0 --quality ga --install-dir /usr/share/dotnet --skip-non-versioned-files; \
    /tmp/dotnet-install.sh --channel 8.0 --quality ga --install-dir /usr/share/dotnet --skip-non-versioned-files; \
  • Files reviewed: 2/2 changed files
  • Comments generated: 0 new
  • Review effort level: Low

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants