|
22 | 22 |
|
23 | 23 | - name: Run shellcheck on lib scripts (if any) |
24 | 24 | run: | |
25 | | - if ls scripts/lib/*.sh 2>/dev/null | grep -q .; then |
| 25 | + if compgen -G "scripts/lib/*.sh" > /dev/null; then |
26 | 26 | shellcheck scripts/lib/*.sh |
27 | 27 | else |
28 | 28 | echo "No scripts/lib/*.sh files found, skipping." |
@@ -54,14 +54,14 @@ jobs: |
54 | 54 | steps: |
55 | 55 | - uses: actions/checkout@v4 |
56 | 56 |
|
57 | | - - name: Verify concept-tree.json has .categories array |
| 57 | + - name: Verify concept-tree.json has .categories object |
58 | 58 | run: | |
59 | 59 | result=$(jq '.categories | type' data/concept-tree.json) |
60 | | - if [ "$result" != '"array"' ]; then |
61 | | - echo "ERROR: concept-tree.json .categories is not an array (got $result)" |
| 60 | + if [ "$result" != '"object"' ]; then |
| 61 | + echo "ERROR: concept-tree.json .categories is not an object (got $result)" |
62 | 62 | exit 1 |
63 | 63 | fi |
64 | | - echo "concept-tree.json .categories is a valid array" |
| 64 | + echo "concept-tree.json .categories is a valid object" |
65 | 65 |
|
66 | 66 | - name: Verify quiz-bank.json is a non-empty object |
67 | 67 | run: | |
@@ -99,15 +99,13 @@ jobs: |
99 | 99 |
|
100 | 100 | - name: Compare quiz-bank keys vs concept-tree concept keys |
101 | 101 | run: | |
102 | | - echo "--- Quiz bank top-level keys ---" |
103 | | - quiz_keys=$(jq -r 'keys[]' data/quiz-bank.json | sort) |
| 102 | + echo "--- Quiz bank concept IDs ---" |
| 103 | + quiz_keys=$(jq -r '.quizzes | keys[]' data/quiz-bank.json | sort) |
104 | 104 | echo "$quiz_keys" |
105 | 105 |
|
106 | 106 | echo "" |
107 | 107 | echo "--- Concept tree concept IDs ---" |
108 | | - concept_keys=$(jq -r '.categories[].concepts[].id' data/concept-tree.json 2>/dev/null | sort || \ |
109 | | - jq -r '.categories[] | .concepts // [] | .[].id' data/concept-tree.json 2>/dev/null | sort || \ |
110 | | - echo "") |
| 108 | + concept_keys=$(jq -r '.categories | to_entries[] | .value.concepts | keys[]' data/concept-tree.json | sort) |
111 | 109 | echo "$concept_keys" |
112 | 110 |
|
113 | 111 | echo "" |
|
0 commit comments