Skip to content

Commit de1e6e5

Browse files
Improve JSON handling and project naming in workflow
Refactor JSON array creation for changed projects and update workflow names.
1 parent 7ebde58 commit de1e6e5

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

.github/workflows/drc-3d-render.yml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,10 @@ jobs:
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
@@ -89,9 +91,17 @@ jobs:
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

Comments
 (0)