The BuildConfig can be imported in the OpenShift environment so that
Ceph-CSI images can be built automatically. These images will be cached
in a private container image registry, which can speed up CI jobs that
currently rebuild the images every time.
Signed-off-by: Niels de Vos <ndevos@redhat.com>
With a private container image registry, the images that CI jobs use can
be cached and re-used. This speeds up the CI jobs, as building the
container images takes up the majority of the runtime for some jobs.
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Old jobs stay behind (and active) when jobs get updated with new
versions. This mostly affects the mini-e2e jobs at the moment.
There is no need to keep old job around, so delete them while deploying
updates to jobs.
Signed-off-by: Niels de Vos <ndevos@redhat.com>
GIT_REF can point to a ref that it not part of a branch and can not
easily be checked out (like a GitHub PR). Checking out FETCH_HEAD after
fetching the GIT_REF works.
Signed-off-by: Niels de Vos <ndevos@redhat.com>
The batch job templates for OpenShift use a GIT_REF variable that is
used by the jobs to checkout the repository. This defaults to
"ci/centos", but it never is adjusted when jjb-validate runs against a
PR.
With the new GIT_REF environment variable in the jjb.sh script, the
variable can now be used to checkout a PR from gitHub and run the
validation against that.
Signed-off-by: Niels de Vos <ndevos@redhat.com>
On the new OCP4 cluster, deleting the batch job results in deletion of
the pod as well. Deleting the pod when it does not exist anymore results
in a failure. Ignoring the potential failure makes the job pass again.
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Currently the number of Pods is growing in the OpenShift Console. The
pods are all Completed, so not running anymore, but there is also no
need to keep them around.
Signed-off-by: Niels de Vos <ndevos@redhat.com>
By using a template, it becomes possible to identify the Pod that has
been started by the Batch Job.
This prevents the script from getting the logs from an incorrect (old)
container.
Fixes: #1111
Signed-off-by: Niels de Vos <ndevos@redhat.com>
The directory that gets constructed can be like
`/opt/build/deploy/..//jobs` and this causes jenkins-jobs to fail.
Enternig the WORKDIR and passing the local ./jobs directory to
jenkins-jobs makes things clearer.
Signed-off-by: Niels de Vos <ndevos@redhat.com>
There is a new .commitlintrc.yml file in the root of the repository.
This causes jenkins-job-builder to complains that the file is not
confirm the Jenkins Job Builder format/specification.
jenkins_jobs.errors.JenkinsJobsException: The topmost collection in file '/opt/build/.commitlintrc.yml' must be a list, not a <class 'collections.OrderedDict'>
Move all Jenkins Job Builder .yaml files to jobs/ so that all the
Jenkins job configurations are kept together without other files.
Signed-off-by: Niels de Vos <ndevos@redhat.com>
16:7 error wrong indentation: expected 8 but found 6 (indentation)
19:9 error wrong indentation: expected 10 but found 8 (indentation)
Signed-off-by: Niels de Vos <ndevos@redhat.com>
./deploy/jjb-deploy.yaml
16:7 error wrong indentation: expected 8 but found 6 (indentation)
19:9 error wrong indentation: expected 10 but found 8 (indentation)
26:9 error wrong indentation: expected 10 but found 8 (indentation)
30:7 error wrong indentation: expected 8 but found 6 (indentation)
Signed-off-by: Niels de Vos <ndevos@redhat.com>
In ./deploy/jjb.sh line 11:
oc get pod/${1} --no-headers -o=jsonpath='{.status.phase}'
^--^ SC2086: Double quote to prevent globbing and word splitting.
In ./deploy/jjb.sh line 29:
cd $(dirname ${0})
^----------------^ SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails.
^-------------^ SC2046: Quote this to prevent word splitting.
^--^ SC2086: Double quote to prevent globbing and word splitting.
In ./deploy/jjb.sh line 31:
oc create -f jjb-${CMD}.yaml
^----^ SC2086: Double quote to prevent globbing and word splitting.
In ./deploy/jjb.sh line 36:
jjb_pod=$(oc get pods --no-headers -l job-name=jjb-${CMD} -o=jsonpath='{.items[0].metadata.name}')
^----^ SC2086: Double quote to prevent globbing and word splitting.
In ./deploy/jjb.sh line 37:
[ ${?} = 0 ] && [ -n "${jjb_pod}" ] && break
^--^ SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.
In ./deploy/jjb.sh line 46:
[ ${?} = 0 ] && ( [ "${status}" = "Succeeded" ] || [ "${status}" = "Failed" ] ) && break
^--^ SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.
^-- SC2235: Use { ..; } instead of (..) to avoid subshell overhead.
In ./deploy/jjb.sh line 54:
oc delete --wait -f jjb-${CMD}.yaml
^----^ SC2086: Double quote to prevent globbing and word splitting.
Signed-off-by: Niels de Vos <ndevos@redhat.com>
These files make it possible to
- build a container image that includes Jenkins Job Builder
- store the container image in the OpenShift ImageStream
- use the container to validate or deploy the Jenkins Jobs
More details about the files are included in the README.md.
Signed-off-by: Niels de Vos <ndevos@redhat.com>