From 8bf0c0d0a75a0eb9aa5b319e575e5d525b8eb507 Mon Sep 17 00:00:00 2001 From: Paul Pan Date: Mon, 1 Jan 2024 22:20:38 +0800 Subject: [PATCH] feat: runner: framework: add golang support --- resource/runner/framework/template/default/go.Makefile | 7 +++++++ resource/runner/framework/template/go.mk | 2 ++ resource/runner/scripts/ubuntu-full.Dockerfile | 3 ++- 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 resource/runner/framework/template/default/go.Makefile create mode 100644 resource/runner/framework/template/go.mk diff --git a/resource/runner/framework/template/default/go.Makefile b/resource/runner/framework/template/default/go.Makefile new file mode 100644 index 0000000..1a10bff --- /dev/null +++ b/resource/runner/framework/template/default/go.Makefile @@ -0,0 +1,7 @@ +include ${TEMPLATE}/go.mk ${TEMPLATE}/Judger.mk + +compile: + @$(GO) build $(GO_BUILD_FLAGS) -o $(PREFIX)/user/$(USER_PROG).out $(PREFIX)/user/$(USER_PROG).$(LANG) + +judge: + $($(CMP)) $(PREFIX)/data/input/$(TEST_NUM).input $(PREFIX)/user/$(TEST_NUM).out.usr $(PREFIX)/data/output/$(TEST_NUM).output $(PREFIX)/user/$(TEST_NUM).judge -appes diff --git a/resource/runner/framework/template/go.mk b/resource/runner/framework/template/go.mk new file mode 100644 index 0000000..37bebcf --- /dev/null +++ b/resource/runner/framework/template/go.mk @@ -0,0 +1,2 @@ +GO=/usr/local/go/bin/go +GO_BUILD_FLAGS=-trimpath \ No newline at end of file diff --git a/resource/runner/scripts/ubuntu-full.Dockerfile b/resource/runner/scripts/ubuntu-full.Dockerfile index 3a7c1f3..47a2d64 100644 --- a/resource/runner/scripts/ubuntu-full.Dockerfile +++ b/resource/runner/scripts/ubuntu-full.Dockerfile @@ -2,7 +2,8 @@ FROM docker.io/library/ubuntu:22.04 WORKDIR /woj/ # Install dependencies -RUN apt-get update && apt-get upgrade -y && apt-get install -y gcc g++ clang make cmake autoconf m4 libtool gperf git parallel python3 && apt-get clean && rm -rf /var/lib/apt/lists +RUN apt-get update && apt-get upgrade -y && apt-get install -y gcc g++ clang make cmake autoconf m4 libtool gperf git parallel python3 wget && apt-get clean && rm -rf /var/lib/apt/lists +RUN wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz && rm -rf /usr/local/go && tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz && rm go1.21.5.linux-amd64.tar.gz # Copy source code RUN mkdir -p /woj/framework && mkdir -p /woj/problem