Skip to content

Commit 5ac5c52

Browse files
authored
Makefile: fix major and major-minor docker release tags (#801)
Signed-off-by: Joe Lanford <[email protected]>
1 parent 2ef669f commit 5ac5c52

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,6 @@ release:
145145
define tagged-or-empty
146146
$(shell \
147147
echo $(OPM_VERSION) | grep -Eq '^v[0-9]+\.[0-9]+\.[0-9]+$$' \
148-
&& git describe --exact-match HEAD >/dev/null 2>&1 \
148+
&& git describe --tags --exact-match HEAD >/dev/null 2>&1 \
149149
&& echo "$(OPM_IMAGE_REPO):$(1)" || echo "" )
150150
endef

docs/contributors/releases.md

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## opm
44

5-
Releases of opm are built by Github Actions, see the [release.yml](../../.github/workflows/release.yml) for details.
5+
Binary releases of opm are built by Github Actions, see [release.yaml](../../.github/workflows/release.yaml) for details.
66
amd64 builds are produced for linux, macos, and windows.
77

88
opm follows semantic versioning, with the latest version derived from the newest semver tag.
@@ -11,17 +11,35 @@ opm follows semantic versioning, with the latest version derived from the newest
1111

1212
Releases are triggered via tags. Make a new release by tagging a commit with an appropriate semver tag.
1313

14+
```console
15+
$ git tag -a -m "operator-registry vX.Y.Z" vX.Y.Z
16+
$ git push upstream vX.Y.Z
17+
```
18+
1419
## Checking the build
1520

1621
Builds for a release can be found [on GitHub Actions](https://github.com/operator-framework/operator-registry/actions). After triggering a build, watch for logs. If the build is successful, a new [release](https://github.com/operator-framework/operator-registry/releases) should appear in GitHub. It will be a draft release, so once all the artifacts are available you need to edit the release to publish the draft.
1722

1823
## Docker images
1924

20-
Builds are also triggered for the following docker images. The tags in Quay.io will match the git tag:
25+
The primary image produced from this repository is [quay.io/operator-framework/opm](https://quay.io/repository/operator-framework/opm). See [goreleaser.yaml](../../.github/workflows/goreleaser.yaml) for details. The following tagging system is used for this image:
26+
- `:master` - tracks this repository's `master` branch.
27+
- `:latest` - tracks the highest semver tag in the repository.
28+
- `vX` - tracks the highest semver tag with major version `X`.
29+
- `vX.Y` - tracks the highest semver tag with the major/minor version `X.Y`.
30+
- `vX.Y.Z` - pushed on every non-prerelease semver tag.
31+
32+
For each of the appropriate tags, the build configuration produces images and a manifest list for the following platforms:
33+
- `linux/amd64`
34+
- `linux/arm64`
35+
- `linux/s390x`
36+
- `linux/ppc64le`
37+
38+
Other deprecated images are also built via Quay triggers. The tags in Quay.io will match the git tag, and for these images, `:latest` tracks the `master` branch:
2139

2240
- [quay.io/operator-framework/operator-registry-server](https://quay.io/repository/operator-framework/operator-registry-server)
2341
- [quay.io/operator-framework/configmap-operator-registry](https://quay.io/repository/operator-framework/configmap-operator-registry)
2442
- [quay.io/operator-framework/upstream-registry-builder](https://quay.io/repository/operator-framework/upstream-registry-builder?tab=tags)
2543

26-
Images are also built to track master with `latest` tags. It is recommended that you always pull by digest, and only use images that are tagged with a version.
27-
44+
It is recommended that you always pull by digest, and only use images that are tagged with a version.
45+

0 commit comments

Comments
 (0)