Skip to content

Commit

Permalink
Add dotnet 8 to kitchen sink (#259)
Browse files Browse the repository at this point in the history
Install dotnet 6.0 and 8.0 side by side in the kitchen sink image.

Fixes #224
  • Loading branch information
julienp authored Sep 6, 2024
1 parent 2659de1 commit aaeccae
Show file tree
Hide file tree
Showing 11 changed files with 777 additions and 6 deletions.
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

## Unreleased

- Add dotnet 8.0 to the kitchen sink image
([#259](https://github.com/pulumi/pulumi-docker-containers/pull/259)

- Include fnm and Nodejs 18, 20 and 22 in the kitchen sink image
([#253](https://github.com/pulumi/pulumi-docker-containers/pull/253)

Expand Down Expand Up @@ -37,7 +40,7 @@
- Add per-language versions of the `pulumi/pulumi-python` image
([#226](https://github.com/pulumi/pulumi-docker-containers/pull/226))

- Unpin Azure CLI tools ([#214])(https://github.com/pulumi/pulumi-docker-containers/pull/214)
- Unpin Azure CLI tools ([#214])(https://github.com/pulumi/pulumi-docker-containers/pull/214))

- Ensure that the containers are compatible with deployments
([#219])(https://github.com/pulumi/pulumi-docker-containers/pull/219)
Expand Down
10 changes: 6 additions & 4 deletions docker/pulumi/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,12 @@ RUN apt-get update -y && \
maven && \
rm -rf /var/lib/apt/lists/*

# Install dotnet 6.0 using instructions from:
# Install dotnet 6.0 and 8.0 using instructions from:
# https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script
RUN curl -fsSL https://dot.net/v1/dotnet-install.sh | bash -s -- -channel 6.0 -InstallDir /usr/share/dotnet
ENV PATH "/usr/share/dotnet:/pulumi/bin:${PATH}"
ENV DOTNET_ROOT /usr/share/dotnet
RUN curl -fsSL https://dot.net/v1/dotnet-install.sh | bash -s -- --channel 6.0 --install-dir /usr/local/share/dotnet
RUN curl -fsSL https://dot.net/v1/dotnet-install.sh | bash -s -- --channel 8.0 --install-dir /usr/local/share/dotnet
ENV PATH "/usr/local/share/dotnet:${PATH}"
ENV DOTNET_ROOT /usr/local/share/dotnet
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT 1
# Allow newer dotnet version (e.g. 6) to build projects targeting older frameworks (v3.1)
ENV DOTNET_ROLL_FORWARD Major
Expand Down Expand Up @@ -140,6 +141,7 @@ ARG PULUMI_VERSION
# Install the Pulumi SDK, including the CLI and language runtimes.
RUN curl -fsSL https://get.pulumi.com/ | bash -s -- --version $PULUMI_VERSION && \
mv ~/.pulumi/bin/* /usr/bin
ENV PATH="/pulumi/bin:${PATH}"

# I think it's safe to say if we're using this mega image, we want pulumi
ENTRYPOINT ["pulumi"]
Expand Down
2 changes: 1 addition & 1 deletion tests/containers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ func TestEnvironment(t *testing.T) {
// Install scripts for various tools can sometimes modify PATH, usually by adding entries
// to ~/.bashrc. This test ensures that we notice such modifications.
expectedPaths := map[string]string{
"pulumi": "/usr/local/share/fnm/aliases/default/bin:/usr/local/share/pyenv/shims:/usr/local/share/pyenv/bin:/usr/share/dotnet:/pulumi/bin:/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"pulumi": "/pulumi/bin:/usr/local/share/fnm/aliases/default/bin:/usr/local/share/pyenv/shims:/usr/local/share/pyenv/bin:/usr/local/share/dotnet:/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"pulumi-debian-dotnet": "/root/.dotnet:/pulumi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"pulumi-debian-go": "/pulumi/bin:/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"pulumi-debian-java": "/pulumi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
Expand Down
Loading

0 comments on commit aaeccae

Please sign in to comment.