5656 PROJECTS=$(echo "$PROJECTS" | grep "${{ github.event.inputs.project_filter }}" || true)
5757 fi
5858 if [ -n "$PROJECTS" ]; then
59+ # Convert to proper JSON array
5960 JSON_PROJECTS=$(echo "$PROJECTS" | jq -R -s -c 'split("\n") | map(select(. != ""))')
6061 echo "projects=$JSON_PROJECTS" >> $GITHUB_OUTPUT
62+ echo "Manual projects: $JSON_PROJECTS"
6163 else
6264 echo 'projects=[]' >> $GITHUB_OUTPUT
6365 fi
8991 # Remove duplicates and convert to JSON
9092 if [ ${#CHANGED_PROJECTS[@]} -gt 0 ]; then
9193 UNIQUE_PROJECTS=($(printf "%s\n" "${CHANGED_PROJECTS[@]}" | sort -u))
92- JSON_PROJECTS=$(printf '%s\n' "${UNIQUE_PROJECTS[@]}" | jq -R -s -c 'split("\n") | map(select(. != ""))')
93- echo "Changed projects: $JSON_PROJECTS"
94- echo "projects=$JSON_PROJECTS" >> $GITHUB_OUTPUT
94+ # Create proper JSON array
95+ JSON_ARRAY="["
96+ for i in "${!UNIQUE_PROJECTS[@]}"; do
97+ if [ $i -gt 0 ]; then
98+ JSON_ARRAY+=","
99+ fi
100+ JSON_ARRAY+="\"${UNIQUE_PROJECTS[$i]}\""
101+ done
102+ JSON_ARRAY+="]"
103+ echo "Changed projects: $JSON_ARRAY"
104+ echo "projects=$JSON_ARRAY" >> $GITHUB_OUTPUT
95105 else
96106 echo "No changed projects found"
97107 echo 'projects=[]' >> $GITHUB_OUTPUT
@@ -104,7 +114,7 @@ jobs:
104114 strategy :
105115 matrix :
106116 project : ${{ fromJson(needs.find-changed-projects.outputs.projects) }}
107- name : KiCad DRC and 3D Export - ${{ fromJson( matrix.project) }}
117+ name : KiCad DRC and 3D Export - ${{ matrix.project }}
108118 steps :
109119 - name : Checkout
110120 uses : actions/checkout@v4
0 commit comments