consolidate dockerfile

This commit is contained in:
Bryson Steck 2025-07-11 18:59:46 -06:00
parent 441f030c4c
commit f68a78e10f
Signed by: bryson
SSH key fingerprint: SHA256:XpKABw/nP4z8UVaH+weLaBnEOD86+cVwif+QjuYLGT4
3 changed files with 19 additions and 43 deletions

View file

@ -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"

View file

@ -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"]

View file

@ -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"]