Skip to content

Commit aca99b2

Browse files
author
Brian J. Cardiff
authored
Add targets to build docker images for 32 bits with nightly .deb (#48)
1 parent e942880 commit aca99b2

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

docker/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
FROM ubuntu:xenial as runtime
1+
ARG base_docker_image
2+
FROM ${base_docker_image} as runtime
23

34
RUN \
45
apt-get update && \

docker/Makefile

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,39 @@ DOCKER_TAG ?= ## How to tag the docker image. a -build will be appended f
44
DOCKER_REPOSITORY ?= ## Docker hub repository to commit image
55

66
OUTPUT_DIR = build
7-
BUILD_ARGS = --build-arg crystal_deb=./tmp/crystal.deb
7+
BUILD_ARGS64 = --build-arg crystal_deb=./tmp/crystal.deb --build-arg base_docker_image=ubuntu:xenial
8+
BUILD_ARGS32 = --build-arg crystal_deb=./tmp/crystal.deb --build-arg base_docker_image=i386/ubuntu:xenial
89

9-
.PHONY: all
10-
all: $(OUTPUT_DIR)/docker-$(CRYSTAL_VERSION).tar.gz $(OUTPUT_DIR)/docker-$(CRYSTAL_VERSION)-build.tar.gz
10+
.PHONY: all64
11+
all64: $(OUTPUT_DIR)/docker-$(CRYSTAL_VERSION).tar.gz $(OUTPUT_DIR)/docker-$(CRYSTAL_VERSION)-build.tar.gz
12+
13+
.PHONY: all32
14+
all32: $(OUTPUT_DIR)/docker-$(CRYSTAL_VERSION)-i386.tar.gz $(OUTPUT_DIR)/docker-$(CRYSTAL_VERSION)-i386-build.tar.gz
1115

1216
$(CURDIR)/tmp/crystal.deb:
1317
mkdir -p $(CURDIR)/tmp
1418
cp $(CRYSTAL_DEB) $(CURDIR)/tmp/crystal.deb
1519

1620
$(OUTPUT_DIR)/docker-$(CRYSTAL_VERSION).tar.gz: $(CURDIR)/tmp/crystal.deb
1721
mkdir -p $(OUTPUT_DIR)
18-
docker build $(BUILD_ARGS) --target runtime -t $(DOCKER_REPOSITORY):$(DOCKER_TAG) .
22+
docker build $(BUILD_ARGS64) --target runtime -t $(DOCKER_REPOSITORY):$(DOCKER_TAG) .
1923
docker save $(DOCKER_REPOSITORY):$(DOCKER_TAG) | gzip > $(OUTPUT_DIR)/docker-$(CRYSTAL_VERSION).tar.gz
2024

2125
$(OUTPUT_DIR)/docker-$(CRYSTAL_VERSION)-build.tar.gz: $(OUTPUT_DIR)/docker-$(CRYSTAL_VERSION).tar.gz
2226
mkdir -p $(OUTPUT_DIR)
23-
docker build $(BUILD_ARGS) --target build -t $(DOCKER_REPOSITORY):$(DOCKER_TAG)-build .
27+
docker build $(BUILD_ARGS64) --target build -t $(DOCKER_REPOSITORY):$(DOCKER_TAG)-build .
2428
docker save $(DOCKER_REPOSITORY):$(DOCKER_TAG)-build | gzip > $(OUTPUT_DIR)/docker-$(CRYSTAL_VERSION)-build.tar.gz
2529

30+
$(OUTPUT_DIR)/docker-$(CRYSTAL_VERSION)-i386.tar.gz: $(CURDIR)/tmp/crystal.deb
31+
mkdir -p $(OUTPUT_DIR)
32+
docker build $(BUILD_ARGS32) --target runtime -t $(DOCKER_REPOSITORY):$(DOCKER_TAG)-i386 .
33+
docker save $(DOCKER_REPOSITORY):$(DOCKER_TAG)-i386 | gzip > $(OUTPUT_DIR)/docker-$(CRYSTAL_VERSION)-i386.tar.gz
34+
35+
$(OUTPUT_DIR)/docker-$(CRYSTAL_VERSION)-i386-build.tar.gz: $(OUTPUT_DIR)/docker-$(CRYSTAL_VERSION)-i386.tar.gz
36+
mkdir -p $(OUTPUT_DIR)
37+
docker build $(BUILD_ARGS32) --target build -t $(DOCKER_REPOSITORY):$(DOCKER_TAG)-i386-build .
38+
docker save $(DOCKER_REPOSITORY):$(DOCKER_TAG)-i386-build | gzip > $(OUTPUT_DIR)/docker-$(CRYSTAL_VERSION)-i386-build.tar.gz
39+
2640
.PHONY: clean
2741
clean: ## Clean up build directory
2842
rm -Rf $(OUTPUT_DIR)

0 commit comments

Comments
 (0)