Skip to content

Commit 6b3be56

Browse files
committed
Fix cpp and csharp builds
1 parent 054ec2e commit 6b3be56

File tree

6 files changed

+10
-72
lines changed

6 files changed

+10
-72
lines changed

services/app/apps/runner/dockers/cpp/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ COPY --from=pch-builder /pch/all.hpp /pch/all.hpp
3636
# working dir for mounted code
3737
WORKDIR /usr/src/app
3838

39-
ADD check .
40-
ADD Makefile .
39+
COPY check ./check
40+
COPY Makefile ./
4141

4242
# keep your inherited runner binary
4343
COPY --from=codebattle/runner-rs:latest /app/codebattle_runner /runner/codebattle_runner

services/app/apps/runner/dockers/csharp/Dockerfile

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,12 @@ FROM mcr.microsoft.com/dotnet/sdk:9.0.203-alpine3.21
44

55
WORKDIR /usr/src/app
66

7-
RUN apk add --update --no-cache make curl
8-
9-
COPY app.csproj .
10-
RUN dotnet add package CompareNETObjects
7+
RUN apk add --update --no-cache make curl && dotnet new console && dotnet add package CompareNETObjects
118

129
COPY Program.cs .
1310
COPY check check
1411
COPY Makefile .
1512

1613
EXPOSE 8000
1714

18-
COPY --from=runner /app/codebattle_runner /runner/codebattle_runner
15+
COPY --from=runner /app/codebattle_runner /runner/codebattle_runner

services/app/apps/runner/dockers/csharp/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
test-runtime:
2-
dotnet run --no-restore
2+
dotnet run
33

44
test-compile:
55
dotnet build --nologo

services/app/apps/runner/dockers/csharp/NuGet.config

Lines changed: 0 additions & 7 deletions
This file was deleted.

services/app/apps/runner/dockers/csharp/app.csproj

Lines changed: 0 additions & 9 deletions
This file was deleted.

services/app/apps/runner/lib/mix/tasks/dockers/build.ex

Lines changed: 5 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule Mix.Tasks.Dockers.Build do
33

44
use Mix.Task
55

6-
@shortdoc "Build multi-architecture docker runner image"
6+
@shortdoc "Build docker runner image"
77

88
def run([slug]) do
99
{:ok, _started} = Application.ensure_all_started(:porcelain)
@@ -18,55 +18,12 @@ defmodule Mix.Tasks.Dockers.Build do
1818
defp build(%{slug: "ts"}), do: :noop
1919

2020
defp build(meta) do
21-
# Ensure buildx is properly set up
22-
setup_buildx()
23-
24-
# Always use multi-architecture builds with push
25-
platforms = "linux/amd64,linux/arm64"
26-
load_or_push = "--push"
27-
28-
# Build the image
2921
command =
30-
"docker buildx build --platform #{platforms} " <>
31-
"#{load_or_push} " <>
32-
"-t #{meta.docker_image} " <>
33-
"--file #{root()}/apps/runner/dockers/#{meta.slug}/Dockerfile " <>
34-
"#{root()}/apps/runner/dockers/#{meta.slug}/"
35-
36-
IO.puts("Command: #{command}")
37-
38-
IO.puts(
39-
"Start building image for #{meta.slug}, image: #{meta.docker_image}, platforms: #{platforms}"
40-
)
41-
42-
result = Porcelain.shell(command)
43-
IO.puts(inspect(result))
44-
end
45-
46-
defp setup_buildx do
47-
# Check if the builder exists
48-
check_builder = Porcelain.shell("docker buildx inspect multi-arch-builder", err: :string)
49-
50-
if check_builder.status != 0 do
51-
# Create a new builder instance
52-
IO.puts("Setting up buildx multi-architecture builder...")
53-
54-
create_builder =
55-
Porcelain.shell(
56-
"docker buildx create --name multi-arch-builder --driver docker-container --bootstrap",
57-
err: :string
58-
)
59-
60-
IO.puts(create_builder.out)
22+
"docker build -t #{meta.docker_image} --file #{root()}/apps/runner/dockers/#{meta.slug}/Dockerfile #{root()}/apps/runner/dockers/#{meta.slug}/"
6123

62-
# Use the new builder
63-
use_builder = Porcelain.shell("docker buildx use multi-arch-builder", err: :string)
64-
IO.puts(use_builder.out)
65-
else
66-
# Use existing builder
67-
use_builder = Porcelain.shell("docker buildx use multi-arch-builder", err: :string)
68-
IO.puts(use_builder.out)
69-
end
24+
IO.puts("Start building image for #{meta.slug}")
25+
result = Porcelain.shell(command, err: :string)
26+
IO.puts(result.out)
7027
end
7128

7229
defp root do

0 commit comments

Comments
 (0)