Add linux/arm64 build (#155)

This commit is contained in:
Adrian Macneil 2020-08-08 16:25:13 -07:00 committed by GitHub
parent 073efc996e
commit df461ff6c7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 15 deletions

View file

@ -9,10 +9,10 @@ install:
- docker-compose build - docker-compose build
- docker-compose up -d - docker-compose up -d
script: script:
- docker-compose run --rm --volume "$PWD/dist:/src/dist" dbmate make build - docker-compose run --rm --volume "$PWD/dist:/src/dist" dbmate make build-all
- docker-compose run --rm dbmate make lint
- docker-compose run --rm dbmate make wait - docker-compose run --rm dbmate make wait
- docker-compose run --rm dbmate make test - docker-compose run --rm dbmate make test
- docker-compose run --rm dbmate make lint
- docker build -t dbmate . - docker build -t dbmate .
- docker run --rm dbmate --help - docker run --rm dbmate --help
deploy: deploy:

View file

@ -28,7 +28,7 @@ RUN go mod download
# build # build
COPY . ./ COPY . ./
RUN make build-linux RUN make build
# runtime image # runtime image
FROM gcr.io/distroless/base FROM gcr.io/distroless/base

View file

@ -1,7 +1,7 @@
LDFLAGS := -ldflags '-s' LDFLAGS := -ldflags '-s'
.PHONY: all .PHONY: all
all: test lint build all: build lint test
.PHONY: test .PHONY: test
test: test:
@ -26,28 +26,28 @@ clean:
rm -rf dist/* rm -rf dist/*
.PHONY: build .PHONY: build
build: clean build-linux build-macos build-windows build: clean build-linux-amd64
ls -lh dist ls -lh dist
.PHONY: build-linux .PHONY: build-linux-amd64
build-linux: build-linux-amd64:
GOOS=linux GOARCH=amd64 CGO_ENABLED=1 \ GOOS=linux GOARCH=amd64 CGO_ENABLED=1 \
go build $(LDFLAGS) -o dist/dbmate-linux-amd64 . go build $(LDFLAGS) -o dist/dbmate-linux-amd64 .
.PHONY: build-all
build-all: clean build-linux-amd64
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 \ GOOS=linux GOARCH=amd64 CGO_ENABLED=0 \
go build $(LDFLAGS) -o dist/dbmate-linux-musl-amd64 . go build $(LDFLAGS) -o dist/dbmate-linux-musl-amd64 .
GOOS=linux GOARCH=arm64 CGO_ENABLED=1 CC=aarch64-linux-gnu-gcc-5 CXX=aarch64-linux-gnu-g++-5 \
.PHONY: build-macos go build $(LDFLAGS) -o dist/dbmate-linux-arm64 .
build-macos:
GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 CC=o64-clang CXX=o64-clang++ \ GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 CC=o64-clang CXX=o64-clang++ \
go build $(LDFLAGS) -o dist/dbmate-macos-amd64 . go build $(LDFLAGS) -o dist/dbmate-macos-amd64 .
.PHONY: build-windows
build-windows:
GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc-posix CXX=x86_64-w64-mingw32-g++-posix \ GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc-posix CXX=x86_64-w64-mingw32-g++-posix \
go build $(LDFLAGS) -o dist/dbmate-windows-amd64.exe . go build $(LDFLAGS) -o dist/dbmate-windows-amd64.exe .
ls -lh dist
.PHONY: docker-all .PHONY: docker-make
docker-all: docker-make:
docker-compose build docker-compose build
docker-compose run --rm dbmate make docker-compose run --rm dbmate make