@@ -41,20 +41,22 @@ jobs:
4141 # 0. Strip alle //‑comments (hele regel of inline)
4242 CLEAN_CONFIG=$(sed -E 's://.*$::' "$CONFIG_FILE")
4343
44- # 1. Parse waarden uit de ge‑cleande config
44+ # 1. Helper: haal waarde op en zet om naar lowercase
4545 get_value_lower() {
46- echo "$CLEAN_CONFIG" \
46+ echo "$CLEAN_CONFIG" \
4747 | grep -Po "${1}:\s*\"\K[^\"]+" \
4848 | tr -d '[:space:]' \
4949 | tr '[:upper:]' '[:lower:]' || true
5050 }
51- DOMAIN=$(get_value 'pubDomain')
52- SPEC_STATUS=$(get_value 'specStatus')
53- SPEC_TYPE=$(get_value 'specType')
54- SHORT_NAME=$(get_value 'shortName')
55- PUBLISH_DATE=$(get_value 'publishDate')
5651
57- # 1a. Check op ontbrekende waarden
52+ # 2. Parse + lowercase
53+ DOMAIN=$(get_value_lower 'pubDomain')
54+ SPEC_STATUS=$(get_value_lower 'specStatus')
55+ SPEC_TYPE=$(get_value_lower 'specType')
56+ SHORT_NAME=$(get_value_lower 'shortName')
57+ PUBLISH_DATE=$(get_value_lower 'publishDate')
58+
59+ # 3. Check op ontbrekende waarden
5860 MISSING=()
5961 for VAR in DOMAIN SPEC_STATUS SPEC_TYPE SHORT_NAME PUBLISH_DATE; do
6062 if [ -z "${!VAR}" ]; then
@@ -66,37 +68,44 @@ jobs:
6668 exit 1
6769 fi
6870
69- # 1b . Valideer specStatus tegen toegestane waarden
71+ # 4 . Valideer specStatus tegen toegestane waarden
7072 ALLOWED_STATUS=(wv cv vv def ld basis)
7173 if [[ ! " ${ALLOWED_STATUS[*]} " =~ " $SPEC_STATUS " ]]; then
7274 echo "::error title=Invalid specStatus::$SPEC_STATUS is geen geldige specStatus. Mogelijke waarden: ${ALLOWED_STATUS[*]}"
7375 exit 1
7476 fi
7577
76- # 1c . Valideer specType tegen toegestane waarden
78+ # 5 . Valideer specType tegen toegestane waarden
7779 ALLOWED_TYPES=(no st im pr hr wa al bd bp)
7880 if [[ ! " ${ALLOWED_TYPES[*]} " =~ " $SPEC_TYPE " ]]; then
7981 echo "::error title=Invalid specType::$SPEC_TYPE is geen geldige specType. Mogelijke waarden: ${ALLOWED_TYPES[*]}"
8082 exit 1
8183 fi
8284
83- echo "Gevonden en gevalideerd: pubDomain=$DOMAIN, specStatus=$SPEC_STATUS, specType=$SPEC_TYPE, shortName=$SHORT_NAME, publishDate=$PUBLISH_DATE"
85+ echo "🔍 Gevonden en gevalideerd (allemaal lowercase):"
86+ echo " pubDomain = $DOMAIN"
87+ echo " specStatus = $SPEC_STATUS"
88+ echo " specType = $SPEC_TYPE"
89+ echo " shortName = $SHORT_NAME"
90+ echo " publishDate = $PUBLISH_DATE"
8491
85- # 2 . Download pubDomainList.json indien nog niet aanwezig
92+ # 6 . Download pubDomainList.json indien nog niet aanwezig
8693 CONFIG_JSON=pubDomainList.json
8794 if [[ ! -f "$CONFIG_JSON" ]]; then
8895 curl -sSL \
8996 https://raw.githubusercontent.com/Geonovum/respec-utils/master/src/autodeploy/config/pubDomainList.json \
9097 -o "$CONFIG_JSON"
9198 fi
9299
93- # 3. Check of pubDomain bestaat in de Geonovum-list
94- if ! jq -e --arg domain "$DOMAIN" '.Geonovum[] | select(.pubDomain==$domain)' "$CONFIG_JSON" >/dev/null; then
100+ # 7. Check of pubDomain bestaat in de Geonovum-list (case‑insensitive)
101+ if ! jq -e --arg domain "$DOMAIN" \
102+ '.Geonovum[] | select((.pubDomain|ascii_downcase)==$domain)' \
103+ "$CONFIG_JSON" >/dev/null; then
95104 echo "::error title=Invalid pubDomain::pubDomain '$DOMAIN' niet gevonden in $CONFIG_JSON"
96105 exit 1
97106 fi
98107
99- # 4 . Valideer publishDate-formaat en geldigheid
108+ # 8 . Valideer publishDate-formaat en geldigheid
100109 if ! [[ "$PUBLISH_DATE" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then
101110 echo "::error title=Invalid publishDate formaat::publishDate '$PUBLISH_DATE' heeft niet het formaat yyyy-MM-dd"
102111 exit 1
@@ -106,7 +115,7 @@ jobs:
106115 exit 1
107116 fi
108117
109- # 5 . Bouw de volledige foldernaam en exporteer als output
118+ # 9 . Bouw de folder-path en exporteer als output
110119 FOLDER_PATH="${DOMAIN}/${SPEC_STATUS}-${SPEC_TYPE}-${SHORT_NAME}-${PUBLISH_DATE}/"
111120 echo "folderPath=$FOLDER_PATH" >> $GITHUB_OUTPUT
112121 echo "pubdomain=$DOMAIN" >> $GITHUB_OUTPUT
@@ -116,7 +125,6 @@ jobs:
116125 echo "publishDate=$PUBLISH_DATE" >> $GITHUB_OUTPUT
117126
118127 echo "Metadata en folder-path gevalideerd en opgeslagen"
119-
120128
121129 - name : Checkout private docs
122130 uses : actions/checkout@v4
0 commit comments