3
3
VERSION = $(shell git describe --tags --candidates=1)
4
4
SHELL = /bin/bash -o pipefail
5
5
6
- PACKER_VERSION ?= 1.8.6
6
+ PACKER_VERSION ?= 1.9.4
7
7
PACKER_LINUX_FILES = $(exec find packer/linux )
8
8
PACKER_WINDOWS_FILES = $(exec find packer/windows )
9
9
10
10
AWS_REGION ?= us-east-1
11
11
12
- ARM64_INSTANCE_TYPE = m6g.xlarge
13
- AMD64_INSTANCE_TYPE = c5.xlarge
12
+ ARM64_INSTANCE_TYPE = m7g.xlarge
13
+ AMD64_INSTANCE_TYPE = m7a.xlarge
14
+ WIN64_INSTANCE_TYPE = m7i.xlarge
15
+
16
+ BUILDKITE_BUILD_NUMBER ?= none
17
+ BUILDKITE_PIPELINE_DEFAULT_BRANCH ?= main
18
+
19
+ IS_RELEASED ?= false
20
+ ifeq ($(BUILDKITE_BRANCH ) ,$(BUILDKITE_PIPELINE_DEFAULT_BRANCH ) )
21
+ IS_RELEASED = true
22
+ endif
23
+ ifeq ($(BUILDKITE_BRANCH ) ,$(BUILDKITE_TAG ) )
24
+ IS_RELEASED = true
25
+ endif
14
26
15
27
all : packer build
16
28
@@ -87,9 +99,13 @@ packer-linux-amd64.output: $(PACKER_LINUX_FILES)
87
99
-v " $( PWD) :/src" \
88
100
--rm \
89
101
-w /src/packer/linux \
90
- hashicorp/packer:$(PACKER_VERSION ) build -timestamp-ui -var ' region=$(AWS_REGION)' \
91
- -var ' arch=x86_64' -var ' goarch=amd64' -var ' instance_type=$(AMD64_INSTANCE_TYPE)' \
92
- buildkite-ami.json | tee $@
102
+ hashicorp/packer:full-$(PACKER_VERSION ) build -timestamp-ui \
103
+ -var ' region=$(AWS_REGION)' \
104
+ -var ' arch=x86_64' \
105
+ -var ' instance_type=$(AMD64_INSTANCE_TYPE)' \
106
+ -var ' build_number=$(BUILDKITE_BUILD_NUMBER)' \
107
+ -var ' is_released=$(IS_RELEASED)' \
108
+ buildkite-ami.pkr.hcl | tee $@
93
109
94
110
build/linux-arm64-ami.txt : packer-linux-arm64.output env-AWS_REGION
95
111
mkdir -p build
@@ -108,9 +124,13 @@ packer-linux-arm64.output: $(PACKER_LINUX_FILES)
108
124
-v " $( PWD) :/src" \
109
125
--rm \
110
126
-w /src/packer/linux \
111
- hashicorp/packer:$(PACKER_VERSION ) build -timestamp-ui -var ' region=$(AWS_REGION)' \
112
- -var ' arch=arm64' -var ' goarch=arm64' -var ' instance_type=$(ARM64_INSTANCE_TYPE)' \
113
- buildkite-ami.json | tee $@
127
+ hashicorp/packer:full-$(PACKER_VERSION ) build -timestamp-ui \
128
+ -var ' region=$(AWS_REGION)' \
129
+ -var ' arch=arm64' \
130
+ -var ' instance_type=$(ARM64_INSTANCE_TYPE)' \
131
+ -var ' build_number=$(BUILDKITE_BUILD_NUMBER)' \
132
+ -var ' is_released=$(IS_RELEASED)' \
133
+ buildkite-ami.pkr.hcl | tee $@
114
134
115
135
build/windows-amd64-ami.txt : packer-windows-amd64.output env-AWS_REGION
116
136
mkdir -p build
@@ -129,8 +149,13 @@ packer-windows-amd64.output: $(PACKER_WINDOWS_FILES)
129
149
-v " $( PWD) :/src" \
130
150
--rm \
131
151
-w /src/packer/windows \
132
- hashicorp/packer:$(PACKER_VERSION ) build -timestamp-ui -var ' region=$(AWS_REGION)' \
133
- buildkite-ami.json | tee $@
152
+ hashicorp/packer:full-$(PACKER_VERSION ) build -timestamp-ui \
153
+ -var ' region=$(AWS_REGION)' \
154
+ -var ' arch=x86_64' \
155
+ -var ' instance_type=$(WIN64_INSTANCE_TYPE)' \
156
+ -var ' build_number=$(BUILDKITE_BUILD_NUMBER)' \
157
+ -var ' is_released=$(IS_RELEASED)' \
158
+ buildkite-ami.pkr.hcl | tee $@
134
159
135
160
# -----------------------------------------
136
161
# Cloudformation helpers
0 commit comments