|
1 |
| -SHELL:=/bin/bash |
2 |
| -DISTROS:=centos-7 fedora-28 fedora-29 debian-jessie debian-stretch debian-buster ubuntu-trusty ubuntu-xenial ubuntu-yakkety ubuntu-artful |
3 |
| -VERIFY_INSTALL_DISTROS:=$(addprefix x86_64-verify-install-,$(DISTROS)) |
4 |
| -CHANNEL_TO_TEST?=test |
| 1 | +TEST_IMAGE?=ubuntu:18.04 |
5 | 2 | VERSION?=
|
6 |
| -SHELLCHECK_EXCLUSIONS=$(addprefix -e, SC1091 SC1117) |
7 |
| -SHELLCHECK=docker run --rm -v "$(CURDIR)":/v -w /v koalaman/shellcheck $(SHELLCHECK_EXCLUSIONS) |
8 |
| - |
9 |
| -.PHONY: shellcheck |
10 |
| -shellcheck: |
11 |
| - $(SHELLCHECK) install.sh |
| 3 | +CHANNEL?= |
12 | 4 |
|
13 |
| -.PHONY: check |
14 |
| -check: $(VERIFY_INSTALL_DISTROS) |
| 5 | +VOLUME_MOUNTS=-v "$(CURDIR)":/v |
| 6 | +SHELLCHECK_EXCLUSIONS=$(addprefix -e, SC1091 SC1117) |
| 7 | +SHELLCHECK=docker run --rm $(VOLUME_MOUNTS) -w /v koalaman/shellcheck $(SHELLCHECK_EXCLUSIONS) |
15 | 8 |
|
16 |
| -.PHONY: clean |
17 |
| -clean: |
18 |
| - $(RM) *-verify-install-* |
19 |
| - $(RM) -r build |
| 9 | +ENVSUBST_VARS=SCRIPT_COMMIT_SHA |
20 | 10 |
|
21 |
| -x86_64-verify-install-%: |
22 |
| - mkdir -p build |
23 |
| - sed 's/DEFAULT_CHANNEL_VALUE="test"/DEFAULT_CHANNEL_VALUE="$(CHANNEL_TO_TEST)"/' install.sh > build/install.sh |
24 |
| - set -o pipefail && docker run \ |
25 |
| - --rm \ |
26 |
| - -e VERSION \ |
27 |
| - -v $(CURDIR):/v \ |
28 |
| - -w /v \ |
29 |
| - $(subst -,:,$*) \ |
30 |
| - /v/verify-docker-install | tee $@ |
| 11 | +.PHONY: build |
31 | 12 |
|
32 |
| -armhf-verify-install-raspbian-jessie: |
33 |
| - mkdir -p build |
34 |
| - sed 's/DEFAULT_CHANNEL_VALUE="test"/DEFAULT_CHANNEL_VALUE="$(CHANNEL_TO_TEST)"/' install.sh > build/install.sh |
35 |
| - set -o pipefail && docker run \ |
36 |
| - --rm \ |
37 |
| - -e VERSION \ |
38 |
| - -v $(CURDIR):/v \ |
39 |
| - -w /v \ |
40 |
| - resin/rpi-raspbian:jessie \ |
41 |
| - /v/verify-docker-install | tee $@ |
| 13 | +build/install.sh: install.sh |
| 14 | + mkdir -p $(@D) |
| 15 | + SCRIPT_COMMIT_SHA='"$(shell git rev-parse HEAD)"' envsubst '$(addprefix $,$(ENVSUBST_VARS))' < $< > $@ |
42 | 16 |
|
43 |
| -armhf-verify-install-raspbian-stretch: |
44 |
| - mkdir -p build |
45 |
| - sed 's/DEFAULT_CHANNEL_VALUE="test"/DEFAULT_CHANNEL_VALUE="$(CHANNEL_TO_TEST)"/' install.sh > build/install.sh |
46 |
| - set -o pipefail && docker run \ |
47 |
| - --rm \ |
48 |
| - -e VERSION \ |
49 |
| - -v $(CURDIR):/v \ |
50 |
| - -w /v \ |
51 |
| - resin/rpi-raspbian:stretch \ |
52 |
| - /v/verify-docker-install | tee $@ |
| 17 | +.PHONY: shellcheck |
| 18 | +shellcheck: build/install.sh |
| 19 | + $(SHELLCHECK) $< |
53 | 20 |
|
54 |
| -armhf-verify-install-%: |
55 |
| - mkdir -p build |
56 |
| - sed 's/DEFAULT_CHANNEL_VALUE="test"/DEFAULT_CHANNEL_VALUE="$(CHANNEL_TO_TEST)"/' install.sh > build/install.sh |
57 |
| - set -o pipefail && docker run \ |
58 |
| - --rm \ |
59 |
| - -e VERSION \ |
60 |
| - -v $(CURDIR):/v \ |
| 21 | +.PHONY: test |
| 22 | +test: build/install.sh |
| 23 | + docker run --rm -i \ |
| 24 | + $(VOLUME_MOUNTS) \ |
61 | 25 | -w /v \
|
62 |
| - arm32v7/$(subst -,:,$*) \ |
63 |
| - /v/verify-docker-install | tee $@ |
64 |
| - |
65 |
| -aarch64-verify-install-%: |
66 |
| - mkdir -p build |
67 |
| - sed 's/DEFAULT_CHANNEL_VALUE="test"/DEFAULT_CHANNEL_VALUE="$(CHANNEL_TO_TEST)"/' install.sh > build/install.sh |
68 |
| - set -o pipefail && docker run \ |
69 |
| - --rm \ |
70 | 26 | -e VERSION \
|
71 |
| - -v $(CURDIR):/v \ |
72 |
| - -w /v \ |
73 |
| - arm64v8/$(subst -,:,$*) \ |
74 |
| - /v/verify-docker-install | tee $@ |
| 27 | + -e CHANNEL \ |
| 28 | + $(TEST_IMAGE) \ |
| 29 | + sh "$<" |
75 | 30 |
|
76 |
| -s390x-verify-install-%: |
77 |
| - mkdir -p build |
78 |
| - sed 's/DEFAULT_CHANNEL_VALUE="test"/DEFAULT_CHANNEL_VALUE="$(CHANNEL_TO_TEST)"/' install.sh > build/install.sh |
79 |
| - set -o pipefail && docker run \ |
80 |
| - --rm \ |
81 |
| - -e VERSION \ |
82 |
| - -v $(CURDIR):/v \ |
83 |
| - -w /v \ |
84 |
| - s390x/$(subst -,:,$*) \ |
85 |
| - /v/verify-docker-install | tee $@ |
86 |
| - |
87 |
| -ppc64le-verify-install-%: |
88 |
| - mkdir -p build |
89 |
| - sed 's/DEFAULT_CHANNEL_VALUE="test"/DEFAULT_CHANNEL_VALUE="$(CHANNEL_TO_TEST)"/' install.sh > build/install.sh |
90 |
| - set -o pipefail && docker run \ |
91 |
| - --rm \ |
92 |
| - -e VERSION \ |
93 |
| - -v $(CURDIR):/v \ |
94 |
| - -w /v \ |
95 |
| - ppc64le/$(subst -,:,$*) \ |
96 |
| - /v/verify-docker-install | tee $@ |
| 31 | +.PHONY: clean |
| 32 | +clean: |
| 33 | + $(RM) -r build/ |
0 commit comments