From b0a75673bd59387d79787f78439488622abd81f6 Mon Sep 17 00:00:00 2001 From: Quentin McGaw Date: Mon, 9 Feb 2026 15:40:45 +0000 Subject: [PATCH] chore(dev): ensure project compiles on darwin and windows --- .github/workflows/ci.yml | 3 +++ Dockerfile | 4 ++++ internal/mod/{info.go => info_linux.go} | 2 ++ internal/mod/{load.go => load_linux.go} | 0 internal/mod/{probe.go => probe_linux.go} | 0 internal/mod/probe_unspecified.go | 7 +++++++ 6 files changed, 16 insertions(+) rename internal/mod/{info.go => info_linux.go} (99%) rename internal/mod/{load.go => load_linux.go} (100%) rename internal/mod/{probe.go => probe_linux.go} (100%) create mode 100644 internal/mod/probe_unspecified.go diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8f4be3d2..b67f1906 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -63,6 +63,9 @@ jobs: -v "$(pwd)/coverage.txt:/tmp/gobuild/coverage.txt" \ test-container + - name: Verify dev cross platform compatibility + run: docker build --target xcompile . + - name: Build final image run: docker build -t final-image . diff --git a/Dockerfile b/Dockerfile index d6e2a984..0e1becef 100644 --- a/Dockerfile +++ b/Dockerfile @@ -46,6 +46,10 @@ RUN git init && \ git diff --exit-code && \ rm -rf .git/ +FROM --platform=${BUILDPLATFORM} base AS xcompile +RUN GOOS=darwin go build -o /dev/null ./... +RUN GOOS=windows go build -o /dev/null ./... + FROM --platform=${BUILDPLATFORM} base AS build ARG TARGETPLATFORM ARG VERSION=unknown diff --git a/internal/mod/info.go b/internal/mod/info_linux.go similarity index 99% rename from internal/mod/info.go rename to internal/mod/info_linux.go index 9eed2f45..d169e379 100644 --- a/internal/mod/info.go +++ b/internal/mod/info_linux.go @@ -1,3 +1,5 @@ +//go:build !windows + package mod import ( diff --git a/internal/mod/load.go b/internal/mod/load_linux.go similarity index 100% rename from internal/mod/load.go rename to internal/mod/load_linux.go diff --git a/internal/mod/probe.go b/internal/mod/probe_linux.go similarity index 100% rename from internal/mod/probe.go rename to internal/mod/probe_linux.go diff --git a/internal/mod/probe_unspecified.go b/internal/mod/probe_unspecified.go new file mode 100644 index 00000000..6c81ab20 --- /dev/null +++ b/internal/mod/probe_unspecified.go @@ -0,0 +1,7 @@ +//go:build !linux + +package mod + +func Probe(moduleName string) error { + panic("not implemented") +}