-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
36 lines (28 loc) · 1.69 KB
/
Makefile
File metadata and controls
36 lines (28 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
CHISEL_VERSION = 1.3.2
org = thenatureofsoftware
chisel-img = chisel
chisel-tag = $(CHISEL_VERSION)
chisel-opts-arm = --build-arg VERSION=$(CHISEL_VERSION) --build-arg OPTS="GOARCH=arm GOARM=7" --platform linux/arm/v7
chisel-opts-arm64 = --build-arg VERSION=$(CHISEL_VERSION) --build-arg OPTS="GOARCH=arm64" --platform linux/arm64
chisel-opts-amd64 = --build-arg VERSION=$(CHISEL_VERSION) --build-arg OPTS="GOARCH=amd64" --platform linux/amd64
.PHONY:
all: clean chisel-manifest
chisel-images: out/images/$(chisel-img)-linux-arm.tgz out/images/$(chisel-img)-linux-arm64.tgz out/images/$(chisel-img)-linux-amd64.tgz
out/images/chisel-linux-%.tgz:
@mkdir -p $$(dirname $@_)
docker buildx build $(chisel-opts-$*) -t $(org)/$(chisel-img)-$*:$(chisel-tag) images/chisel
docker save $(org)/$(chisel-img)-$*:$(chisel-tag) | gzip -c > out/images/chisel-linux-$*.tgz
chisel-manifest: chisel-images
docker push $(org)/$(chisel-img)-arm:$(chisel-tag)
docker push $(org)/$(chisel-img)-arm64:$(chisel-tag)
docker push $(org)/$(chisel-img)-amd64:$(chisel-tag)
docker manifest create --amend $(org)/$(chisel-img):$(chisel-tag) \
$(org)/$(chisel-img)-arm:$(chisel-tag) \
$(org)/$(chisel-img)-arm64:$(chisel-tag) \
$(org)/$(chisel-img)-amd64:$(chisel-tag)
docker manifest annotate $(org)/$(chisel-img):$(chisel-tag) $(org)/$(chisel-img)-arm:$(chisel-tag) --os linux --arch arm --variant v7
docker manifest annotate $(org)/$(chisel-img):$(chisel-tag) $(org)/$(chisel-img)-arm64:$(chisel-tag) --os linux --arch arm64
docker manifest annotate $(org)/$(chisel-img):$(chisel-tag) $(org)/$(chisel-img)-amd64:$(chisel-tag) --os linux --arch amd64
docker manifest push $(org)/$(chisel-img):$(chisel-tag)
clean:
rm -rf out