From f68a78e10f1414b7cd1b5926849378e191ee3539 Mon Sep 17 00:00:00 2001 From: Bryson Steck Date: Fri, 11 Jul 2025 18:59:46 -0600 Subject: [PATCH] consolidate dockerfile --- Taskfile.yml | 33 +++++++++++++++++++-------------- docker/build.linux.Dockerfile | 16 ---------------- docker/build.windows.Dockerfile | 13 ------------- 3 files changed, 19 insertions(+), 43 deletions(-) delete mode 100644 docker/build.linux.Dockerfile delete mode 100644 docker/build.windows.Dockerfile diff --git a/Taskfile.yml b/Taskfile.yml index 25ffae9..5d1aff2 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -3,29 +3,34 @@ version: '3' vars: UNAME: sh: uname - GOOS: - sh: go env GOOS - DOCKER_WINDOWS_EXE: C:/build/listen/listen.exe - DOCKER_EXE: /usr/src/listen/listen tasks: default: + cmd: "echo {{OS}}" deps: - - go-build - - go-build: + - build:go + + build:go: + aliases: + - build cmds: - - "go build -o out/{{.GOOS}}/listen ." - precondition: + - "go build -o out/{{OS}}/ ." + preconditions: - "which go" - docker-build: + build:docker: cmds: - - "docker build -t listen-build -f docker/build.$os.Dockerfile -e GOOS='{{.GOOS}}' ." - - "mkdir -p out/{{.GOOS}}" + - "docker build -t listen-build -f docker/build.Dockerfile --build-arg GOOS='{{OS}}' ." + - "mkdir -p out/{{OS}}" - "docker create --name listen-build-tmp listen-build" - - "docker cp listen-build-tmp:{{.DOCKER_EXE}} out/{{.GOOS}}" + - cmd: "docker cp listen-build-tmp:/usr/src/listen/out/{{OS}}/listen.exe out/{{OS}}" + platforms: + - windows + - cmd: "docker cp listen-build-tmp:/usr/src/listen/out/{{OS}}/listen out/{{OS}}" + platforms: + - darwin + - linux - "docker rm listen-build-tmp" - precondition: + preconditions: - "which docker" - "uname | grep -qe Linux -e MINGW" \ No newline at end of file diff --git a/docker/build.linux.Dockerfile b/docker/build.linux.Dockerfile deleted file mode 100644 index ccc826b..0000000 --- a/docker/build.linux.Dockerfile +++ /dev/null @@ -1,16 +0,0 @@ -# This Dockerfile is meant for building listen for Linux ONLY -# listen is currently not intended to run in a Docker container - -ARG IMAGE="1-alpine" - -FROM golang:${IMAGE} AS build - -ENV GOOS="linux" - -WORKDIR /usr/src/listen -COPY . . - -RUN apk upgrade --no-cache -RUN go build . - -CMD ["tail", "-f", "/dev/null"] diff --git a/docker/build.windows.Dockerfile b/docker/build.windows.Dockerfile deleted file mode 100644 index b9369f8..0000000 --- a/docker/build.windows.Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -# This Dockerfile is meant for building listen for Windows ONLY -# listen is currently not intended to run in a Docker container - -ARG IMAGE="1-nanoserver" - -FROM golang:${IMAGE} AS build - -WORKDIR C:/build/listen -COPY . . - -RUN go build . - -CMD ["ping.exe", "-t", "localhost"]