File tree Expand file tree Collapse file tree 6 files changed +45
-10
lines changed Expand file tree Collapse file tree 6 files changed +45
-10
lines changed Original file line number Diff line number Diff line change @@ -101,11 +101,16 @@ jobs:
101
101
with :
102
102
images : ${{ env.REGISTRY }}/${{ env.REPOSITORY }}/${{ inputs.image_name }}
103
103
104
+ - name : Set up Docker Buildx
105
+ if : steps.check-dockerfile.outputs.exists == 'true'
106
+ uses : docker/setup-buildx-action@v3
107
+
104
108
- name : Build and push Docker image
105
109
if : steps.check-dockerfile.outputs.exists == 'true'
106
110
id : push
107
111
uses : docker/build-push-action@v6
108
112
with :
113
+ platforms : linux/amd64,linux/arm64
109
114
push : true
110
115
context : ${{ github.workspace }}/${{ inputs.image_name }}
111
116
file : ${{ github.workspace }}/${{ inputs.image_name }}/Dockerfile.${{ inputs.extension }}
Original file line number Diff line number Diff line change 1
1
# syntax=docker/dockerfile:1
2
2
3
- FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build
3
+ FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build
4
4
5
5
COPY ./src/McpAwesomeCopilot.Common /source/McpAwesomeCopilot.Common
6
6
COPY ./src/McpAwesomeCopilot.ContainerApp /source/McpAwesomeCopilot.ContainerApp
7
7
8
8
WORKDIR /source/McpAwesomeCopilot.ContainerApp
9
9
10
- RUN dotnet publish -c Release -o /app
10
+ ARG TARGETARCH
11
+ RUN case "$TARGETARCH" in \
12
+ " amd64" ) RID="linux-musl-x64" ;; \
13
+ " arm64" ) RID="linux-musl-arm64" ;; \
14
+ *) RID="linux-musl-x64" ;; \
15
+ esac && \
16
+ dotnet publish -c Release -o /app -r $RID --self-contained false
11
17
12
18
FROM mcr.microsoft.com/dotnet/aspnet:9.0-alpine AS final
13
19
Original file line number Diff line number Diff line change 1
1
# syntax=docker/dockerfile:1
2
2
3
- FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build
3
+ FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build
4
4
5
5
COPY ./src/McpAwesomeCopilot.Common /source/McpAwesomeCopilot.Common
6
6
COPY ./src/McpAwesomeCopilot.ConsoleApp /source/McpAwesomeCopilot.ConsoleApp
7
7
8
8
WORKDIR /source/McpAwesomeCopilot.ConsoleApp
9
9
10
- RUN dotnet publish -c Release -o /app
10
+ ARG TARGETARCH
11
+ RUN case "$TARGETARCH" in \
12
+ "amd64") RID="linux-musl-x64" ;; \
13
+ "arm64") RID="linux-musl-arm64" ;; \
14
+ *) RID="linux-musl-x64" ;; \
15
+ esac && \
16
+ dotnet publish -c Release -o /app -r $RID --self-contained false
11
17
12
18
FROM mcr.microsoft.com/dotnet/aspnet:9.0-alpine AS final
13
19
Original file line number Diff line number Diff line change 1
1
# syntax=docker/dockerfile:1
2
2
3
- FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build
3
+ FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build
4
4
5
5
COPY ./src/McpMarkdownToHtml.Common /source/McpMarkdownToHtml.Common
6
6
COPY ./src/McpMarkdownToHtml.ContainerApp /source/McpMarkdownToHtml.ContainerApp
7
7
8
8
WORKDIR /source/McpMarkdownToHtml.ContainerApp
9
9
10
- RUN dotnet publish -c Release -o /app
10
+ ARG TARGETARCH
11
+ RUN case "$TARGETARCH" in \
12
+ " amd64" ) RID="linux-musl-x64" ;; \
13
+ " arm64" ) RID="linux-musl-arm64" ;; \
14
+ *) RID="linux-musl-x64" ;; \
15
+ esac && \
16
+ dotnet publish -c Release -o /app -r $RID --self-contained false
11
17
12
18
FROM mcr.microsoft.com/dotnet/aspnet:9.0-alpine AS final
13
19
Original file line number Diff line number Diff line change 1
1
# syntax=docker/dockerfile:1
2
2
3
- FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build
3
+ FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build
4
4
5
5
COPY ./src/McpMarkdownToHtml.Common /source/McpMarkdownToHtml.Common
6
6
COPY ./src/McpMarkdownToHtml.ConsoleApp /source/McpMarkdownToHtml.ConsoleApp
7
7
8
8
WORKDIR /source/McpMarkdownToHtml.ConsoleApp
9
9
10
- RUN dotnet publish -c Release -o /app
10
+ ARG TARGETARCH
11
+ RUN case "$TARGETARCH" in \
12
+ "amd64") RID="linux-musl-x64" ;; \
13
+ "arm64") RID="linux-musl-arm64" ;; \
14
+ *) RID="linux-musl-x64" ;; \
15
+ esac && \
16
+ dotnet publish -c Release -o /app -r $RID --self-contained false
11
17
12
18
FROM mcr.microsoft.com/dotnet/aspnet:9.0-alpine AS final
13
19
Original file line number Diff line number Diff line change 1
1
# syntax=docker/dockerfile:1
2
2
3
- FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build
3
+ FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build
4
4
5
5
COPY . /source
6
6
7
7
WORKDIR /source/src/McpTodoList.ContainerApp
8
8
9
- RUN dotnet publish -c Release -o /app
9
+ ARG TARGETARCH
10
+ RUN case "$TARGETARCH" in \
11
+ " amd64" ) RID="linux-musl-x64" ;; \
12
+ " arm64" ) RID="linux-musl-arm64" ;; \
13
+ *) RID="linux-musl-x64" ;; \
14
+ esac && \
15
+ dotnet publish -c Release -o /app -r $RID --self-contained false
10
16
11
17
FROM mcr.microsoft.com/dotnet/aspnet:9.0-alpine AS final
12
18
You can’t perform that action at this time.
0 commit comments