Skip to content

Commit 6469496

Browse files
authored
Merge pull request #365 from xenoscopic/workflow-fixups
ci: fix assorted issues with new update and review workflows
2 parents c40f2d1 + 21a97a2 commit 6469496

File tree

4 files changed

+21
-7
lines changed

4 files changed

+21
-7
lines changed

.github/workflows/security-review-changes.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ jobs:
421421
--field output[summary]="Security review failed to complete" \
422422
--field output[text]="The security review process encountered an error. Check workflow logs for details."
423423
424-
echo "Failed $review_type review for $server" >&2
424+
echo "::error::Failed $review_type review for $server"
425425
fi
426426
}
427427

.github/workflows/security-review-manual.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ jobs:
116116
fi
117117
118118
if ! "${cmd[@]}"; then
119-
echo "Security review failed for $server" >&2
119+
echo "::error::Security review failed for $server"
120120
fi
121121
done < <(jq -c '.[]' "${{ steps.collect.outputs.targets }}")
122122

.github/workflows/update-pins.yaml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ jobs:
111111
exit 1
112112
fi
113113
new_pr_count=0
114+
failed_servers=()
114115
115116
for server in "${SERVERS[@]}"; do
116117
patch="patches/${server}.patch"
@@ -151,7 +152,7 @@ jobs:
151152
# Apply the patch onto a fresh branch for this server.
152153
git checkout -B "$branch" origin/main
153154
if ! git apply "$patch"; then
154-
echo "Failed to apply patch for $server, skipping."
155+
echo "::error::Failed to apply patch for $server, skipping."
155156
continue
156157
fi
157158
@@ -164,7 +165,7 @@ jobs:
164165
git add "servers/${server}/server.yaml"
165166
git commit -m "chore: update pin for ${server}"
166167
if ! git push --force origin "$branch"; then
167-
echo "Failed to push branch for $server, skipping." >&2
168+
echo "::error::Failed to push branch for $server, skipping."
168169
continue
169170
fi
170171
@@ -173,7 +174,8 @@ jobs:
173174
if ! gh pr edit "$branch" \
174175
--title "chore: update pin for ${server}" \
175176
--body "Automated commit pin update for ${server}." 2>&1; then
176-
echo "Failed to update PR for $server" >&2
177+
echo "::error::Failed to update PR for $server"
178+
failed_servers+=("$server (update)")
177179
fi
178180
else
179181
if gh pr create \
@@ -183,10 +185,20 @@ jobs:
183185
--head "$branch" 2>&1; then
184186
new_pr_count=$((new_pr_count + 1))
185187
else
186-
echo "Failed to create PR for $server" >&2
188+
echo "::error::Failed to create PR for $server"
189+
failed_servers+=("$server (create)")
187190
fi
188191
fi
189192
done
190193
191194
# Leave the repository in a clean state.
192195
git checkout main
196+
197+
# Report summary and exit with error if any PRs failed.
198+
if [ ${#failed_servers[@]} -gt 0 ]; then
199+
echo "::error::Failed to create or update PRs for ${#failed_servers[@]} server(s):"
200+
for server in "${failed_servers[@]}"; do
201+
echo " - $server"
202+
done
203+
exit 1
204+
fi

cmd/security-reviewer/main.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,9 @@ func run(ctx context.Context, opts options) error {
205205
}
206206

207207
outputDir := filepath.Join(workdir, "output")
208-
if err = os.MkdirAll(outputDir, 0o755); err != nil {
208+
// Use 0o777 to allow the container to write when running with a different
209+
// UID (e.g., in CI environments like GitHub Actions).
210+
if err = os.MkdirAll(outputDir, 0o777); err != nil {
209211
return fmt.Errorf("create output directory: %w", err)
210212
}
211213

0 commit comments

Comments
 (0)