Skip to content

Commit d8e4d6d

Browse files
Merge pull request #512 from gliderlabs/arm64_support
Arm64 support
2 parents 47a8dd9 + a01d380 commit d8e4d6d

File tree

2 files changed

+54
-4
lines changed

2 files changed

+54
-4
lines changed

circle.yml renamed to .circleci/config.yml

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ jobs:
44
machine: true
55
working_directory: /home/circleci/logspout
66
environment:
7-
DEBUG: true
7+
DEBUG: "true"
88
steps:
99
- checkout
1010
- run: |
@@ -36,3 +36,32 @@ jobs:
3636
if [ "${CIRCLE_BRANCH}" == "release" ]; then
3737
make release
3838
fi
39+
publish:
40+
machine:
41+
image: ubuntu-1604:202007-01
42+
working_directory: /home/circleci/logspout
43+
environment:
44+
DEBUG: "true"
45+
steps:
46+
- checkout
47+
- run: make publish-requirements
48+
- run: make publish-test
49+
- run: |
50+
if [ "${CIRCLE_BRANCH}" == "master" ]; then
51+
docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD"
52+
make publish-master
53+
fi
54+
- run: |
55+
if [ "${CIRCLE_BRANCH}" == "release" ]; then
56+
docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD"
57+
make publish-release
58+
fi
59+
60+
workflows:
61+
version: 2
62+
build_and_publish:
63+
jobs:
64+
- build
65+
- publish:
66+
requires:
67+
- build

Makefile

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
.PHONY: build
2-
31
NAME=logspout
42
VERSION=$(shell cat VERSION)
53
# max image size of 40MB
@@ -110,22 +108,45 @@ test-tls-custom:
110108
docker stop $(NAME)-tls-custom || true
111109
docker rm $(NAME)-tls-custom || true
112110

111+
.PHONY: release
113112
release:
114113
rm -rf release && mkdir release
115114
go get github.com/progrium/gh-release/...
116115
cp build/* release
117116
gh-release create gliderlabs/$(NAME) $(VERSION) \
118117
$(shell git rev-parse --abbrev-ref HEAD) $(VERSION)
119118

119+
.PHONY: circleci
120120
circleci:
121121
ifneq ($(CIRCLE_BRANCH), release)
122122
echo build-$$CIRCLE_BUILD_NUM > VERSION
123123
endif
124124

125+
.PHONY: clean
125126
clean:
126127
rm -rf build/
127128
docker rm $(shell docker ps -aq) || true
128129
docker rmi $(NAME):dev $(NAME):$(VERSION) || true
129130
docker rmi $(shell docker images -f 'dangling=true' -q) || true
130131

131-
.PHONY: release clean
132+
.PHONY: publish-requirements
133+
publish-requirements:
134+
mkdir -vp ~/.docker/cli-plugins/
135+
curl --silent -L --output ~/.docker/cli-plugins/docker-buildx https://github.com/docker/buildx/releases/download/v0.3.1/buildx-v0.3.1.linux-amd64
136+
chmod a+x ~/.docker/cli-plugins/docker-buildx
137+
docker run -it --rm --privileged tonistiigi/binfmt --install all
138+
docker buildx create --use --name mybuilder
139+
140+
.PHONY: publish-test
141+
publish-test:
142+
docker buildx build --load --platform linux/amd64 -t gliderlabs/$(NAME):linux-amd64-${CIRCLE_BRANCH} .
143+
docker buildx build --load --platform linux/arm64 -t gliderlabs/$(NAME):linux-arm64-${CIRCLE_BRANCH} .
144+
docker images
145+
146+
.PHONY: publish-master
147+
publish-master:
148+
docker buildx build --push --platform linux/arm64,linux/amd64 -t gliderlabs/$(NAME):master -t gliderlabs/$(NAME):latest .
149+
150+
.PHONY: publish-release
151+
publish-release:
152+
docker buildx build --push --platform linux/arm64,linux/amd64 -t gliderlabs/$(NAME):$(VERSION) .

0 commit comments

Comments
 (0)