Skip to content

mysteriumnetwork/xgo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xgo

Go CGO cross compiler in docker which is inspired by https://github.com/karalabe/xgo and https://github.com/techknowlogick/xgo but is much simpler and only contains docker files with no xgo command.

Usage

docker run --rm \
    -v "$PWD"/build:/build \
    -v "$GOPATH"/xgo-cache:/deps-cache:ro \
    -v "$PWD":/source \
    -e OUT=binary_name \
    -e FLAG_V=false \
    -e FLAG_X=false \
    -e FLAG_RACE=false \
    -e FLAG_LDFLAGS="-w -s" \
    -e FLAG_BUILDMODE=default \
    -e TARGETS="linux/amd64,darwin/amd64,windows/amd64" \
    mysteriumnetwork/xgo:1.13.6 ./cmd/path/to/entrypoint

Also see and run ./test.sh to build test examples.

Building image

If you make changes in docker/base you need to rebuild base image.

docker build -t mysteriumnetwork/xgo:base -f ./docker/base/Dockerfile ./docker/base
docker push mysteriumnetwork/xgo:base

If you add new go version only when build and push.

Build new image.

docker build -t mysteriumnetwork/xgo:1.13.6 -f ./docker/go-1.13.6/Dockerfile .

Update and run tests.

./test.sh

Push image

docker push mysteriumnetwork/xgo:1.13.6