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") +}