diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 45c9e06..9fd0b61 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -1,4 +1,4 @@
-name: "Chiselled Ubuntu .NET8 Tests"
+name: "Chiselled Ubuntu .NET9 Tests"
on: push
@@ -6,7 +6,7 @@ env:
runtime-deps-image-name: ubuntu/dotnet-deps:test
runtime-image-name: ubuntu/dotnet-runtime:test
aspnet-image-name: ubuntu/dotnet-aspnet:test
- dotnet-version: "8.0"
+ dotnet-version: "9.0"
skopeo-image: 'quay.io/skopeo/stable:v1.15.1'
jobs:
@@ -18,7 +18,7 @@ jobs:
strategy:
fail-fast: true
matrix:
- ubuntu-release: ["24.04"]
+ ubuntu-release: ["24.10"]
steps:
- uses: actions/checkout@v4
@@ -29,7 +29,7 @@ jobs:
- uses: actions/setup-dotnet@v4
with:
- dotnet-version: "8.0.100-rc.2.23502.2"
+ dotnet-version: "9.0.x"
# Setup QEMU and Docker buildx
- name: Set up QEMU
@@ -67,7 +67,7 @@ jobs:
- name: Build the .NET runtime deps container image
run: |
set -x
- archs=`cat rockcraft.*.dotnet-deps-8.0-${{ matrix.ubuntu-release }}.yaml | shyaml get-value platforms | shyaml keys`
+ archs=`cat rockcraft.*.dotnet-deps-9.0-${{ matrix.ubuntu-release }}.yaml | shyaml get-value platforms | shyaml keys`
buildx_platforms="linux/$(echo ${archs} | sed 's/ /,linux\//g')"
docker buildx build \
@@ -105,7 +105,7 @@ jobs:
- name: Build the .NET runtime container image
run: |
set -x
- archs=`cat rockcraft.*.dotnet-runtime-8.0-${{ matrix.ubuntu-release }}.yaml | shyaml get-value platforms | shyaml keys`
+ archs=`cat rockcraft.*.dotnet-runtime-9.0-${{ matrix.ubuntu-release }}.yaml | shyaml get-value platforms | shyaml keys`
buildx_platforms="linux/$(echo ${archs} | sed 's/ /,linux\//g')"
docker buildx build \
@@ -143,7 +143,7 @@ jobs:
- name: Build the ASP.NET Core runtime container image
run: |
set -x
- archs=`cat rockcraft.*.dotnet-aspnet-8.0-${{ matrix.ubuntu-release }}.yaml | shyaml get-value platforms | shyaml keys`
+ archs=`cat rockcraft.*.dotnet-aspnet-9.0-${{ matrix.ubuntu-release }}.yaml | shyaml get-value platforms | shyaml keys`
buildx_platforms="linux/$(echo ${archs} | sed 's/ /,linux\//g')"
docker buildx build \
diff --git a/README.md b/README.md
index 3e89e67..16522b2 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
-# Chiselled .NET 8.0
+# Chiselled .NET 9.0
-Chiselled Ubuntu container images for .NET 8.0.
+Chiselled Ubuntu container images for .NET 9.0.
Find more details about each image and their usage at:
diff --git a/dotnet-aspnet/Dockerfile.24.04 b/dotnet-aspnet/Dockerfile.24.10
similarity index 85%
rename from dotnet-aspnet/Dockerfile.24.04
rename to dotnet-aspnet/Dockerfile.24.10
index ed63859..be645bd 100644
--- a/dotnet-aspnet/Dockerfile.24.04
+++ b/dotnet-aspnet/Dockerfile.24.10
@@ -1,8 +1,8 @@
-ARG UBUNTU_RELEASE=24.04
+ARG UBUNTU_RELEASE=24.10
ARG USER=app UID=101 GROUP=app GID=101
ARG CHISEL_VERSION=1.0.0
-FROM ubuntu.azurecr.io/ubuntu:$UBUNTU_RELEASE@sha256:da20fb875cfefd317c49e7aaf3998d3e5ad42c5b20f34a0eec6dca2fe4fbb8f4 AS builder
+FROM ubuntu.azurecr.io/ubuntu:$UBUNTU_RELEASE@sha256:fad5ba7223f8d87179dfa23211d31845d47e07a474ac31ad5258afb606523c0d AS builder
ARG USER UID GROUP GID TARGETARCH UBUNTU_RELEASE CHISEL_VERSION
SHELL ["/bin/bash", "-oeux", "pipefail", "-c"]
RUN apt-get update \
@@ -21,7 +21,9 @@ RUN mkdir /rootfs \
base-files_release-info \
base-files_chisel \
ca-certificates_data \
- aspnetcore-runtime-8.0_libs
+ aspnetcore-runtime-9.0_libs
+RUN mv /rootfs/usr/lib/dotnet/dotnet9 /rootfs/usr/lib/dotnet/dotnet \
+ && ln -s ../lib/dotnet/dotnet /rootfs/usr/bin/dotnet
RUN install -d -m 0755 -o "$UID" -g "$GID" "/rootfs/home/$USER" \
&& echo -e "root:x:0:\n$GROUP:x:$GID:" >/rootfs/etc/group \
&& echo -e "root:x:0:0:root:/root:/noshell\n$USER:x:$UID:$GID::/home/$USER:/noshell" >/rootfs/etc/passwd
diff --git a/dotnet-deps/Dockerfile.24.04 b/dotnet-deps/Dockerfile.24.10
similarity index 90%
rename from dotnet-deps/Dockerfile.24.04
rename to dotnet-deps/Dockerfile.24.10
index 59c9034..3e0a057 100644
--- a/dotnet-deps/Dockerfile.24.04
+++ b/dotnet-deps/Dockerfile.24.10
@@ -1,8 +1,8 @@
-ARG UBUNTU_RELEASE=24.04
+ARG UBUNTU_RELEASE=24.10
ARG USER=app UID=101 GROUP=app GID=101
ARG CHISEL_VERSION=1.0.0
-FROM ubuntu.azurecr.io/ubuntu:$UBUNTU_RELEASE@sha256:da20fb875cfefd317c49e7aaf3998d3e5ad42c5b20f34a0eec6dca2fe4fbb8f4 AS builder
+FROM ubuntu.azurecr.io/ubuntu:$UBUNTU_RELEASE@sha256:fad5ba7223f8d87179dfa23211d31845d47e07a474ac31ad5258afb606523c0d AS builder
ARG USER UID GROUP GID TARGETARCH UBUNTU_RELEASE CHISEL_VERSION
SHELL ["/bin/bash", "-oeux", "pipefail", "-c"]
RUN apt-get update \
@@ -25,10 +25,12 @@ RUN chisel-wrapper --generate-dpkg-status /status -- --release "ubuntu-$UBUNTU_R
base-files_release-info \
base-files_chisel \
ca-certificates_data \
+ libbrotli1_libs \
libc6_libs \
libgcc-s1_libs \
libssl3t64_libs \
libstdc++6_libs \
+ libunwind8_libs \
zlib1g_libs
FROM scratch AS sbom-prep
diff --git a/dotnet-runtime/Dockerfile.24.04 b/dotnet-runtime/Dockerfile.24.10
similarity index 86%
rename from dotnet-runtime/Dockerfile.24.04
rename to dotnet-runtime/Dockerfile.24.10
index aaad605..a211876 100644
--- a/dotnet-runtime/Dockerfile.24.04
+++ b/dotnet-runtime/Dockerfile.24.10
@@ -1,8 +1,8 @@
-ARG UBUNTU_RELEASE=24.04
+ARG UBUNTU_RELEASE=24.10
ARG USER=app UID=101 GROUP=app GID=101
ARG CHISEL_VERSION=1.0.0
-FROM ubuntu.azurecr.io/ubuntu:$UBUNTU_RELEASE@sha256:da20fb875cfefd317c49e7aaf3998d3e5ad42c5b20f34a0eec6dca2fe4fbb8f4 AS builder
+FROM ubuntu.azurecr.io/ubuntu:$UBUNTU_RELEASE@sha256:fad5ba7223f8d87179dfa23211d31845d47e07a474ac31ad5258afb606523c0d AS builder
ARG USER UID GROUP GID TARGETARCH UBUNTU_RELEASE CHISEL_VERSION
SHELL ["/bin/bash", "-oeux", "pipefail", "-c"]
RUN apt-get update \
@@ -21,7 +21,9 @@ RUN mkdir /rootfs \
base-files_release-info \
base-files_chisel \
ca-certificates_data \
- dotnet-runtime-8.0_libs
+ dotnet-runtime-9.0_libs
+RUN mv /rootfs/usr/lib/dotnet/dotnet9 /rootfs/usr/lib/dotnet/dotnet \
+ && ln -s ../lib/dotnet/dotnet /rootfs/usr/bin/dotnet
RUN install -d -m 0755 -o "$UID" -g "$GID" "/rootfs/home/$USER" \
&& echo -e "root:x:0:\n$GROUP:x:$GID:" >/rootfs/etc/group \
&& echo -e "root:x:0:0:root:/root:/noshell\n$USER:x:$UID:$GID::/home/$USER:/noshell" >/rootfs/etc/passwd
diff --git a/rockcraft.1.dotnet-deps-8.0-24.04.yaml b/rockcraft.1.dotnet-deps-9.0-24.10.yaml
similarity index 84%
rename from rockcraft.1.dotnet-deps-8.0-24.04.yaml
rename to rockcraft.1.dotnet-deps-9.0-24.10.yaml
index eae845e..4c0474d 100644
--- a/rockcraft.1.dotnet-deps-8.0-24.04.yaml
+++ b/rockcraft.1.dotnet-deps-9.0-24.10.yaml
@@ -1,6 +1,6 @@
name: dotnet-deps
-version: 8.0
-base: 24.04
+version: 9.0
+base: 24.10
platforms:
amd64:
arm64:
diff --git a/rockcraft.2.dotnet-runtime-8.0-24.04.yaml b/rockcraft.2.dotnet-runtime-9.0-24.10.yaml
similarity index 80%
rename from rockcraft.2.dotnet-runtime-8.0-24.04.yaml
rename to rockcraft.2.dotnet-runtime-9.0-24.10.yaml
index c7487e5..c5378f4 100644
--- a/rockcraft.2.dotnet-runtime-8.0-24.04.yaml
+++ b/rockcraft.2.dotnet-runtime-9.0-24.10.yaml
@@ -1,6 +1,6 @@
name: dotnet-runtime
-version: 8.0
-base: 24.04
+version: 9.0
+base: 24.10
platforms:
amd64:
arm64:
diff --git a/rockcraft.3.dotnet-aspnet-8.0-24.04.yaml b/rockcraft.3.dotnet-aspnet-9.0-24.10.yaml
similarity index 80%
rename from rockcraft.3.dotnet-aspnet-8.0-24.04.yaml
rename to rockcraft.3.dotnet-aspnet-9.0-24.10.yaml
index 94aae10..490e804 100644
--- a/rockcraft.3.dotnet-aspnet-8.0-24.04.yaml
+++ b/rockcraft.3.dotnet-aspnet-9.0-24.10.yaml
@@ -1,6 +1,6 @@
name: dotnet-aspnet
-version: 8.0
-base: 24.04
+version: 9.0
+base: 24.10
platforms:
amd64:
arm64:
diff --git a/tests/app_helloworld-self-contained/runtest b/tests/app_helloworld-self-contained/runtest
index c064ff4..67b51a4 100755
--- a/tests/app_helloworld-self-contained/runtest
+++ b/tests/app_helloworld-self-contained/runtest
@@ -6,7 +6,7 @@ echo "Running test for self-contained .NET Hello World app"
(cd src && dotnet publish --self-contained -r linux-x64)
RunContainer() {
- docker run --rm -v $PWD/src:/app:ro --user $1 --entrypoint /app/bin/Release/net8.0/linux-x64/Hello $RUNTIME_DEPS_IMAGE
+ docker run --rm -v $PWD/src:/app:ro --user $1 --entrypoint /app/bin/Release/net9.0/linux-x64/Hello $RUNTIME_DEPS_IMAGE
}
RunContainer app
diff --git a/tests/app_helloworld-self-contained/src/Hello.csproj b/tests/app_helloworld-self-contained/src/Hello.csproj
index 91b464a..694035b 100644
--- a/tests/app_helloworld-self-contained/src/Hello.csproj
+++ b/tests/app_helloworld-self-contained/src/Hello.csproj
@@ -2,7 +2,7 @@
Exe
- net8.0
+ net9.0
enable
enable
diff --git a/tests/app_helloworld/runtest b/tests/app_helloworld/runtest
index 184e351..2593cc7 100755
--- a/tests/app_helloworld/runtest
+++ b/tests/app_helloworld/runtest
@@ -6,7 +6,7 @@ echo "Running test for .NET Hello World app"
(cd src && dotnet publish --no-self-contained -r linux-x64)
RunContainer() {
- docker run --rm -v $PWD/src:/app:ro --user $1 $RUNTIME_IMAGE /app/bin/Release/net8.0/linux-x64/Hello.dll
+ docker run --rm -v $PWD/src:/app:ro --user $1 $RUNTIME_IMAGE /app/bin/Release/net9.0/linux-x64/Hello.dll
}
RunContainer app
diff --git a/tests/app_helloworld/src/Hello.csproj b/tests/app_helloworld/src/Hello.csproj
index 91b464a..694035b 100644
--- a/tests/app_helloworld/src/Hello.csproj
+++ b/tests/app_helloworld/src/Hello.csproj
@@ -2,7 +2,7 @@
Exe
- net8.0
+ net9.0
enable
enable
diff --git a/tests/app_https-client/runtest b/tests/app_https-client/runtest
index 99ec4ce..825d7df 100755
--- a/tests/app_https-client/runtest
+++ b/tests/app_https-client/runtest
@@ -5,4 +5,4 @@ echo "Running test for .NET HTTPS client app "
(cd src && dotnet publish --no-self-contained -r linux-x64)
-docker run --rm -v $PWD/src:/app:ro $RUNTIME_IMAGE /app/bin/Release/net8.0/linux-x64/Hello.dll
+docker run --rm -v $PWD/src:/app:ro $RUNTIME_IMAGE /app/bin/Release/net9.0/linux-x64/Hello.dll
diff --git a/tests/app_https-client/src/Hello.csproj b/tests/app_https-client/src/Hello.csproj
index 91b464a..694035b 100644
--- a/tests/app_https-client/src/Hello.csproj
+++ b/tests/app_https-client/src/Hello.csproj
@@ -2,7 +2,7 @@
Exe
- net8.0
+ net9.0
enable
enable
diff --git a/tests/web_helloworld/runtest b/tests/web_helloworld/runtest
index 3a454d0..0c96dc7 100755
--- a/tests/web_helloworld/runtest
+++ b/tests/web_helloworld/runtest
@@ -6,7 +6,7 @@ echo "Running test for ASP.NET Core app "
(cd src && dotnet publish --no-self-contained -r linux-x64)
RunContainer() {
- docker run -d -p 8000:8080 --name web_helloworld -v $PWD/src:/app:ro --user $1 $ASPNET_IMAGE /app/bin/Release/net8.0/linux-x64/Hello.dll
+ docker run -d -p 8000:8080 --name web_helloworld -v $PWD/src:/app:ro --user $1 $ASPNET_IMAGE /app/bin/Release/net9.0/linux-x64/Hello.dll
# Allow time for web app to start
sleep 5
diff --git a/tests/web_helloworld/src/Hello.csproj b/tests/web_helloworld/src/Hello.csproj
index 1b28a01..6568b3d 100644
--- a/tests/web_helloworld/src/Hello.csproj
+++ b/tests/web_helloworld/src/Hello.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net9.0
enable
enable