#!/usr/bin/env bash # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # The makefile entrypoint driver for document validation # Expected to be run from the project root set -xe # The root of the manifest structure to be validated. # This corresponds to the targetPath in an airshipctl config : ${MANIFEST_ROOT:="$(dirname "${PWD}")"} # The space-separated locations of sites whose manifests should be validated. # These are relative to MANIFEST_ROOT above : ${SITE_ROOTS:="$(basename "${PWD}")/manifests/site"} # get kind echo "Fetching kind from ${KIND_URL}..." TMP=$(KIND_URL=${KIND_URL} ./tools/document/get_kind.sh) export KIND=${TMP}/kind export KUBECTL_URL sites_to_skip=(az-test-site docker-test-site gcp-test-site openstack-test-site) for site_root in ${SITE_ROOTS}; do for site in $(ls ${MANIFEST_ROOT}/${site_root}); do if [[ " ${sites_to_skip[@]} " =~ " ${site} " ]]; then continue fi echo -e "\nValidating site: ${MANIFEST_ROOT}/${site_root}/${site}\n****************" MANIFEST_ROOT=${MANIFEST_ROOT} SITE_ROOT=${site_root} SITE=${site} \ ./tools/document/validate_site_docs.sh echo "Validation of site ${site} is successful!" done done