Cincinnati is an update protocol designed to facilitate automatic updates. This repository manages the Cincinnati graph for OpenShift.
The contributing documentation covers licencing and the usual Git flow.
- Create a PR.
- Merge the PR to master.
- Update your local master branch.
- Publish Quay labels based on master.
Do Not Ever Update Quay Labels Based On Your Local Development Branch. Only from master!
Release names are used for adding releases to channels and blocking edges.
Architecture-agnostic names will apply to all images with that exact name in the version property of the release-metadata file included in the release image.
Names with SemVer build metadata will apply only to releases whose exact name in the version property matches the release with the build metadata removed and whose referenced image architecture matches the given build metadata.
For example, 4.2.14 will apply to both the amd64 and s390x release images, since those both have 4.2.14 in version.
And 4.2.14+amd64 would only apply to the amd64 release image.
Edit the appropriate file in channels/.
For example, to add a release to stable-4.2 you would edit channels/stable-4.2.yaml.
Channel semantics are documented here.
The file contains a list of versions. Please keep the versions in order. And LEAVE COMMENTS if you skip a version.
Create/edit an appropriate file in blocked_edges/.
tois the release which has the existing incoming edges.fromis a regex for the previous release versions.
For example: to block all incoming edges to a release create a file such as blocked-edges/4.2.11.yaml containing:
to: 4.2.11
from: .*If you wish to block specific edges it might look like:
to: 4.2.0-rc.5
from: 4\.1\.(18|20)DO NOT EVER PUSH YOUR LOCAL BRANCH TO QUAY! Only push AFTER changes have merged to master.
Push to Quay labels with:
$ hack/graph-util.py push-to-quay --token="${YOUR_TOKEN}"You can leave --token unset for a dry run (the actions the script would take are printed either way, but are only executed if you passed a token).