|
1 | 1 | #!/bin/bash |
2 | 2 |
|
| 3 | +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" |
3 | 4 | failed_files=() |
4 | 5 |
|
5 | 6 | for file in $(find . -name config.yaml -o -name plano_config_full_reference.yaml); do |
6 | 7 | echo "Validating ${file}..." |
7 | | - touch $(pwd)/${file}_rendered |
8 | | - if ! docker run --rm -v "$(pwd)/${file}:/app/plano_config.yaml:ro" -v "$(pwd)/${file}_rendered:/app/plano_config_rendered.yaml:rw" --entrypoint /bin/sh ${PLANO_DOCKER_IMAGE:-katanemo/plano:0.4.9} -c "python -m planoai.config_generator" 2>&1 > /dev/null ; then |
| 8 | + rendered_file="$(pwd)/${file}_rendered" |
| 9 | + touch "$rendered_file" |
| 10 | + |
| 11 | + PLANO_CONFIG_FILE="$(pwd)/${file}" \ |
| 12 | + PLANO_CONFIG_SCHEMA_FILE="${SCRIPT_DIR}/plano_config_schema.yaml" \ |
| 13 | + TEMPLATE_ROOT="${SCRIPT_DIR}" \ |
| 14 | + ENVOY_CONFIG_TEMPLATE_FILE="envoy.template.yaml" \ |
| 15 | + PLANO_CONFIG_FILE_RENDERED="$rendered_file" \ |
| 16 | + ENVOY_CONFIG_FILE_RENDERED="/dev/null" \ |
| 17 | + python -m planoai.config_generator 2>&1 > /dev/null |
| 18 | + |
| 19 | + if [ $? -ne 0 ]; then |
9 | 20 | echo "Validation failed for $file" |
10 | 21 | failed_files+=("$file") |
11 | 22 | fi |
| 23 | + |
12 | 24 | RENDERED_CHECKED_IN_FILE=$(echo $file | sed 's/\.yaml$/_rendered.yaml/') |
13 | 25 | if [ -f "$RENDERED_CHECKED_IN_FILE" ]; then |
14 | 26 | echo "Checking rendered file against checked-in version..." |
15 | | - if ! diff -q "${file}_rendered" "$RENDERED_CHECKED_IN_FILE" > /dev/null; then |
16 | | - echo "Rendered file ${file}_rendered does not match checked-in version ${RENDERED_CHECKED_IN_FILE}" |
17 | | - failed_files+=("${file}_rendered") |
| 27 | + if ! diff -q "$rendered_file" "$RENDERED_CHECKED_IN_FILE" > /dev/null; then |
| 28 | + echo "Rendered file $rendered_file does not match checked-in version ${RENDERED_CHECKED_IN_FILE}" |
| 29 | + failed_files+=("$rendered_file") |
18 | 30 | else |
19 | 31 | echo "Rendered file matches checked-in version." |
20 | 32 | fi |
|
0 commit comments