Skip to content

Commit f843de2

Browse files
Merge pull request #220 from rhmdnd/break-apart-release-process
Break apart the make target for release
2 parents df1ae6f + 87d251a commit f843de2

File tree

2 files changed

+43
-2
lines changed

2 files changed

+43
-2
lines changed

Makefile

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -378,13 +378,19 @@ git-release: package-version-to-tag changelog
378378
git checkout -b "release-v$(TAG)"
379379
git add "deploy/olm-catalog/file-integrity-operator/"
380380
git add "CHANGELOG.md"
381+
382+
.PHONY: prepare-release
383+
prepare-release: release-tag-image bundle git-release
384+
385+
.PHONY: push-release ## Do an official release (Requires permissions)
386+
push-release: package-version-to-tag
381387
git commit -m "Release v$(TAG)"
382388
git tag "v$(TAG)"
383389
git push origin "v$(TAG)"
384390
git push origin "release-v$(TAG)"
385391

386-
.PHONY: release
387-
release: release-tag-image bundle push push-index undo-deploy-tag-image git-release ## Do an official release (Requires permissions)
392+
.PHONY: release-images
393+
release-images: package-version-to-tag push push-index undo-deploy-tag-image
388394
# This will ensure that we also push to the latest tag
389395
$(MAKE) push TAG=latest
390396

README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,3 +341,38 @@ spec:
341341
```
342342

343343
The severity label and `for` may be adjusted depending on taste.
344+
345+
## Contributor Guide
346+
347+
This guide provides useful information for contributors.
348+
349+
### Proposing Releases
350+
351+
The release process is separated into three phases, with dedicated `make`
352+
targets. All targets require that you supply the `OPERATOR_VERSION` prior to
353+
running `make`, which should be a semantic version formatted string (e.g.,
354+
`OPERATOR_VERSION=0.1.49`).
355+
356+
#### Preparing the Release
357+
358+
The first phase of the release process is preparing the release locally. You
359+
can do this by running the `make prepare-release` target. All changes are
360+
staged locally. This is intentional so that you have the opportunity to
361+
review the changes before proposing the release in the next step.
362+
363+
#### Proposing the Release
364+
365+
The second phase of the release is to push the release to a dedicated branch
366+
against the origin repository. You can perform this step using the `make
367+
push-release` target.
368+
369+
Please note, this step makes changes to the upstream repository, so it is
370+
imperative that you review the changes you're committing prior to this step.
371+
This steps also requires that you have necessary permissions on the repository.
372+
373+
#### Releasing Images
374+
375+
The third and final step of the release is to build new images and push them to
376+
an offical image registry. You can build new images and push using `make
377+
release-images`. Note that this operation also requires you have proper
378+
permissions on the remote registry.

0 commit comments

Comments
 (0)