@@ -89,7 +89,7 @@ RELEASE_MANIFEST := $(RELEASE_DIR)/infrastructure-components.yaml
8989RELEASE_METADATA := $(RELEASE_DIR ) /metadata.yaml
9090RELEASE_CLUSTER_TEMPLATE := $(RELEASE_DIR ) /cluster-template.yaml
9191FULL_RELEASE_MANIFEST := $(FULL_RELEASE_DIR ) /infrastructure-components.yaml
92- FULL_RELEASE_MANIFEST_URL := $(REPO_URL ) /releases/latest /infrastructure-components.yaml
92+ FULL_RELEASE_MANIFEST_URL := $(REPO_URL ) /releases/$( RELEASE_VERSION ) /infrastructure-components.yaml
9393FULL_RELEASE_CLUSTERCTLYAML := $(FULL_RELEASE_DIR ) /clusterctl.yaml
9494RELEASE_CLUSTERCTLYAML := $(RELEASE_BASE ) /clusterctl-$(RELEASE_VERSION ) .yaml
9595
@@ -213,47 +213,54 @@ $(RELEASE_DIR) $(RELEASE_BASE):
213213$(MANAGERLESS_DIR ) $(MANAGERLESS_BASE ) :
214214 mkdir -p $@
215215
216- .PHONY : release-clusterctl release-manifests release $(RELEASE_CLUSTERCTLYAML ) $(RELEASE_MANIFEST ) $(RELEASE_METADATA ) $(RELEASE_CLUSTER_TEMPLATE )
217- manifest : release-manifests release-clusterctl release-cluster-template
216+ .PHONY : semver release-clusterctl release-manifests release $(RELEASE_CLUSTERCTLYAML ) $(RELEASE_MANIFEST ) $(RELEASE_METADATA ) $(RELEASE_CLUSTER_TEMPLATE ) $(FULL_RELEASE_CLUSTERCTLYAML )
217+
218+ semver :
219+ ifeq (,$(VERSION ) )
220+ $(error could not determine version to use from git tag, will not create artifacts)
221+ endif
222+
223+
224+ manifest : semver release-manifests release-clusterctl release-cluster-template
218225
219226release :
220227 goreleaser release --rm-dist --snapshot --skip-publish
221228
222229release/publish :
223230 goreleaser release --rm-dist
224231
225- release-manifests : $(RELEASE_MANIFEST ) $(RELEASE_METADATA ) $(RELEASE_CLUSTER_TEMPLATE )
232+ release-manifests : semver $(RELEASE_MANIFEST ) $(RELEASE_METADATA ) $(RELEASE_CLUSTER_TEMPLATE )
226233$(RELEASE_MANIFEST ) : $(RELEASE_DIR ) # # Builds the manifests to publish with a release
227234 kustomize build config/default > $@
228235
229- $(RELEASE_METADATA ) : $(RELEASE_DIR ) $(METADATA_TEMPLATE )
236+ $(RELEASE_METADATA ) : semver $(RELEASE_DIR ) $(METADATA_TEMPLATE )
230237 cat $(METADATA_TEMPLATE ) | sed ' s/MAJOR/$(VERSION_MAJOR)/g' | sed ' s/MINOR/$(VERSION_MINOR)/g' | sed ' s/CONTRACT/$(VERSION_CONTRACT)/g' > $@
231238
232- release-cluster-template : $(RELEASE_CLUSTER_TEMPLATE )
239+ release-cluster-template : semver $(RELEASE_CLUSTER_TEMPLATE )
233240$(RELEASE_CLUSTER_TEMPLATE ) : $(RELEASE_DIR )
234241 cp $(CLUSTER_TEMPLATE ) $@
235242
236- release-clusterctl : $(RELEASE_CLUSTERCTLYAML ) $(FULL_RELEASE_CLUSTERCTLYAML )
243+ release-clusterctl : semver $(RELEASE_CLUSTERCTLYAML ) $(FULL_RELEASE_CLUSTERCTLYAML )
237244$(RELEASE_CLUSTERCTLYAML ) : $(RELEASE_BASE )
238245 cat $(CLUSTERCTL_TEMPLATE ) | sed ' s%URL%$(FULL_RELEASE_MANIFEST)%g' > $@
239246
240247$(FULL_RELEASE_CLUSTERCTLYAML ) : $(RELEASE_DIR )
241248 cat $(CLUSTERCTL_TEMPLATE ) | sed ' s%URL%$(FULL_RELEASE_MANIFEST_URL)%g' > $@
242249
243250.PHONY : managerless-clusterctl managerless-manifests managerless $(MANAGERLESS_CLUSTERCTLYAML ) $(MANAGERLESS_MANIFEST ) $(MANAGERLESS_METADATA ) $(MANAGERLESS_CLUSTER_TEMPLATE )
244- managerless : managerless-manifests managerless-clusterctl managerless-cluster-template
245- managerless-manifests : $(MANAGERLESS_MANIFEST ) $(MANAGERLESS_METADATA )
251+ managerless : semver managerless-manifests managerless-clusterctl managerless-cluster-template
252+ managerless-manifests : semver $(MANAGERLESS_MANIFEST ) $(MANAGERLESS_METADATA )
246253$(MANAGERLESS_MANIFEST ) : $(MANAGERLESS_DIR )
247254 kustomize build config/managerless > $@
248255
249- $(MANAGERLESS_METADATA ) : $(MANAGERLESS_DIR ) $(METADATA_TEMPLATE )
256+ $(MANAGERLESS_METADATA ) : semver $(MANAGERLESS_DIR ) $(METADATA_TEMPLATE )
250257 cat $(METADATA_TEMPLATE ) | sed ' s/MAJOR/$(VERSION_MAJOR)/g' | sed ' s/MINOR/$(VERSION_MINOR)/g' | sed ' s/CONTRACT/$(VERSION_CONTRACT)/g' > $@
251258
252- managerless-cluster-template : $(MANAGERLESS_CLUSTER_TEMPLATE )
259+ managerless-cluster-template : semver $(MANAGERLESS_CLUSTER_TEMPLATE )
253260$(MANAGERLESS_CLUSTER_TEMPLATE ) : $(MANAGERLESS_DIR )
254261 cp $(CLUSTER_TEMPLATE ) $@
255262
256- managerless-clusterctl : $(MANAGERLESS_CLUSTERCTLYAML )
263+ managerless-clusterctl : semver $(MANAGERLESS_CLUSTERCTLYAML )
257264$(MANAGERLESS_CLUSTERCTLYAML ) : $(MANAGERLESS_BASE )
258265 @cat $(CLUSTERCTL_TEMPLATE ) | sed ' s%URL%$(FULL_MANAGERLESS_MANIFEST)%g' > $@
259266 @echo " managerless ready, command-line is:"
0 commit comments