File tree Expand file tree Collapse file tree 3 files changed +67
-0
lines changed
Expand file tree Collapse file tree 3 files changed +67
-0
lines changed Original file line number Diff line number Diff line change 1+ name : release
2+
3+ on :
4+ push :
5+ # Sequence of patterns matched against refs/tags
6+ tags :
7+ - ' v*' # Push events to matching v*, i.e. v1.0, v20.15.10
8+
9+ permissions :
10+ contents : write # Allow to create a release.
11+
12+ jobs :
13+ build :
14+ name : create draft release
15+ runs-on : ubuntu-latest
16+ steps :
17+ - name : Set env
18+ run : echo "RELEASE_TAG=${GITHUB_REF##refs/tags/}" >> "$GITHUB_ENV"
19+ - name : checkout code
20+ uses : actions/checkout@v4
21+ with :
22+ fetch-depth : 1
23+ - name : Set up Go
24+ uses : actions/setup-go@v5
25+ with :
26+ go-version-file : go.mod
27+ - name : generate release artifacts
28+ run : |
29+ make release-manifests RELEASE_VERSION=${{ env.RELEASE_TAG }}
30+ - name : generate release templates
31+ run : |
32+ make release-templates
33+ - name : Release
34+ uses : softprops/action-gh-release@v2
35+ with :
36+ draft : true
37+ files : out/*
38+ generate_release_notes : true
Original file line number Diff line number Diff line change @@ -37,3 +37,7 @@ envfile
3737
3838# test path for local test programs
3939/cmd /test /**
40+ cluster.yaml
41+
42+ # release
43+ out /
Original file line number Diff line number Diff line change @@ -222,3 +222,28 @@ verify-gen: manifests generate ## Verify that the generated files are up to date
222222
223223.PHONY : verify
224224verify : verify-gen verify-tidy # # Run all verifications.
225+
226+
227+ # #@ Release
228+ # # --------------------------------------
229+ # # Release
230+ # # --------------------------------------
231+
232+ REPOSITORY ?= ghcr.io/ionos-cloud/cluster-api-provider-ionoscloud
233+ RELEASE_DIR ?= out
234+ RELEASE_VERSION ?= v0.0.1
235+
236+ .PHONY : release-manifests
237+ RELEASE_MANIFEST_SOURCE_BASE ?= config/default
238+ release-manifests : $(KUSTOMIZE ) # # Create kustomized release manifest in $RELEASE_DIR (defaults to out).
239+ @mkdir -p $(RELEASE_DIR )
240+ cp metadata.yaml $(RELEASE_DIR ) /metadata.yaml
241+ # # change the image tag to the release version
242+ cd $(RELEASE_MANIFEST_SOURCE_BASE ) && $(KUSTOMIZE ) edit set image $(REPOSITORY ) :$(RELEASE_VERSION )
243+ # # generate the release manifest
244+ $(KUSTOMIZE ) build $(RELEASE_MANIFEST_SOURCE_BASE ) > $(RELEASE_DIR ) /infrastructure-components.yaml
245+
246+ .PHONY : release-templates
247+ release-templates : # # Generate release templates
248+ @mkdir -p $(RELEASE_DIR )
249+ cp templates/cluster-template* .yaml $(RELEASE_DIR ) /
You can’t perform that action at this time.
0 commit comments