1
- FROM mcr.microsoft.com/dotnet/sdk:8.0.201-alpine3.19-amd64 AS build
1
+ FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0 AS build
2
+ ARG TARGETARCH
2
3
3
4
WORKDIR /tmp
4
5
@@ -20,25 +21,29 @@ RUN dotnet add package FsCheck.Xunit -v 2.14.3
20
21
RUN dotnet add package FSharp.Core -v 6.0.1
21
22
RUN dotnet add package FSharp.Core -v 7.0.400
22
23
RUN dotnet add package FSharp.Core -v 8.0.101
24
+ RUN dotnet add package FSharp.Core -v 8.0.403
23
25
RUN dotnet add package FParsec -v 1.1.1
24
26
RUN dotnet add package FsToolkit.ErrorHandling -v 4.15.2
25
27
26
28
WORKDIR /app
27
29
28
30
# Copy fsproj and restore as distinct layers
29
31
COPY src/Exercism.TestRunner.FSharp/Exercism.TestRunner.FSharp.fsproj ./
30
- RUN dotnet restore -r linux-musl-x64
32
+ RUN dotnet restore -a $TARGETARCH
31
33
32
34
# Copy everything else and build
33
35
COPY src/Exercism.TestRunner.FSharp/ ./
34
- RUN dotnet publish -r linux-musl-x64 -c Release -o /opt/test-runner --no-restore
36
+ RUN dotnet publish -a $TARGETARCH -c Release -o /opt/test-runner --no-restore
35
37
36
38
# Build runtime image
37
- FROM mcr.microsoft.com/dotnet/sdk:8.0.201-alpine3.19-amd64 AS runtime
38
- WORKDIR /opt/test-runner
39
+ FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0 AS runtime
39
40
40
- # Enable rolling forward the .NET SDK used to be backwards-compatible
41
+ ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false
41
42
ENV DOTNET_ROLL_FORWARD=Major
43
+ ENV DOTNET_NOLOGO=true
44
+ ENV DOTNET_CLI_TELEMETRY_OPTOUT=true
45
+
46
+ WORKDIR /opt/test-runner
42
47
43
48
COPY --from=build /root/.nuget/packages/ /root/.nuget/packages/
44
49
COPY --from=build /opt/test-runner/ .
0 commit comments