CI tooling and hacks to improve CI
config/<file.yaml>
config/
directory, add the new file to the make generate-ci
commandmake generate-ci ARGS=--remote=<your_remote>
make generate-ci ARGS=--remote=git@github.com:pierDipi/release.git
podman
, make sure to have export CONTAINER_ENGINE=podman
setTo generate openshift/release config for a single repository, run the specific task in
the Makefile
or run individual commands in the Makefile
, such as:
go run github.com/openshift-knative/hack/cmd/prowgen --config config/eventing-hyperfoil-benchmark.yaml --remote <your_remote>
# go run github.com/openshift-knative/hack/cmd/prowgen --config config/eventing-hyperfoil-benchmark.yaml --remote git@github.com:aliok/release.git
This generation works this way:
openshift/relase
is clonedconfig/<file.yaml>
filestest
s are generated.
onDemand
field, then the presubmit is marked as
optional (always_run: false
).generateCustomConfigs: true
.
The repository configuration should then list custom configurations under customConfigs
.
The releaseBuildConfiguration
key should include at least tests
key
with the list of tests to be run. For custom configurations, tests are not generated from Makefile
targets but rather taken directly from the configuration. The resulting build configuration is
then
enriched with images, base images, and dependencies for test steps.Limitations:
kubectl
context to use the ocp-serverless
workspace
kubectl config use-context konflux-ocp-serverless
make konflux-apply
make unit-tests
CI configs use specific OpenShift versions. To change the version, you need to update the YAML files
in the config/
directory.
When a new OpenShift version is released, wait until the cluster pool for OpenShift CI is available in https://docs.ci.openshift.org/docs/how-tos/cluster-claim/#existing-cluster-pools.
SO branch follows the product versioning, while midstream branches follows the upstream versioning.
To make the "clone associated SO branch" easier, you can run the sobranch
tool as follows:
GO111MODULE=off go get -u github.com/openshift-knative/hack/cmd/sobranch
so_branch=$( $(go env GOPATH)/bin/sobranch --upstream-version "release-1.11") # or "release-v1.11" or "release-1.11" or "v1.11" or "1.11"
git clone --branch $so_branch git@github.com:openshift-knative/serverless-operator.git
error: gpg failed to sign the data
fatal: failed to write commit object
You need to configure GPG signing in your git config. See https://docs.github.com/en/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key#telling-git-about-your-ssh-key.
If you see this error, you need to update your Git to version 2.34 or later.
error: unsupported value for gpg.format: ssh
fatal: bad config variable 'gpg.format' in file '/Users/<you>/.gitconfig'