File tree Expand file tree Collapse file tree 4 files changed +50
-0
lines changed Expand file tree Collapse file tree 4 files changed +50
-0
lines changed Original file line number Diff line number Diff line change @@ -26,6 +26,12 @@ repos:
26
26
entry : make
27
27
args : ['operator-lint']
28
28
pass_filenames : false
29
+ - id : make-crd-schema-check
30
+ name : make-crd-schema-check
31
+ language : system
32
+ entry : make
33
+ args : ['crd-schema-check']
34
+ pass_filenames : false
29
35
30
36
- repo : https://github.com/pre-commit/pre-commit-hooks
31
37
rev : v4.4.0
Original file line number Diff line number Diff line change @@ -353,3 +353,11 @@ run-with-webhook: export METRICS_PORT?=8080
353
353
run-with-webhook : export HEALTH_PORT?=8081
354
354
run-with-webhook : manifests generate fmt vet # # Run a controller from your host.
355
355
/bin/bash hack/run_with_local_webhook.sh
356
+
357
+ CRD_SCHEMA_CHECKER_VERSION ?= release-4.16
358
+ BRANCH =main
359
+
360
+ PHONY : crd-schema-check
361
+ crd-schema-check : manifests
362
+ INSTALL_DIR=$(LOCALBIN ) CRD_SCHEMA_CHECKER_VERSION=$(CRD_SCHEMA_CHECKER_VERSION ) hack/build-crd-schema-checker.sh
363
+ INSTALL_DIR=$(LOCALBIN ) BASE_REF=" $$ {PULL_BASE_SHA:-$( BRANCH) }" hack/crd-schema-checker.sh
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+ set -euxo pipefail
3
+
4
+ if [ -f " $INSTALL_DIR /crd-schema-checker" ]; then
5
+ exit 0
6
+ fi
7
+
8
+ mkdir -p " $INSTALL_DIR /git-tmp"
9
+ git clone https://github.com/openshift/crd-schema-checker.git \
10
+ -b " $CRD_SCHEMA_CHECKER_VERSION " " $INSTALL_DIR /git-tmp"
11
+ pushd " $INSTALL_DIR /git-tmp"
12
+ GOWORK=off make
13
+ cp crd-schema-checker " $INSTALL_DIR /"
14
+ popd
15
+ rm -rf " $INSTALL_DIR /git-tmp"
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+ set -euxo pipefail
3
+
4
+ CHECKER=$INSTALL_DIR /crd-schema-checker
5
+
6
+ TMP_DIR=$( mktemp -d)
7
+
8
+ function cleanup {
9
+ rm -rf " $TMP_DIR "
10
+ }
11
+
12
+ trap cleanup EXIT
13
+
14
+
15
+ for crd in config/crd/bases/* .yaml; do
16
+ mkdir -p " $( dirname " $TMP_DIR /$crd " ) "
17
+ git show " $BASE_REF :$crd " > " $TMP_DIR /$crd "
18
+ $CHECKER check-manifests \
19
+ --existing-crd-filename=" $TMP_DIR /$crd " \
20
+ --new-crd-filename=" $crd "
21
+ done
You can’t perform that action at this time.
0 commit comments