fix: don't report user input errors to the Blacksmith backend - #121
Merged
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 04c811d. Configure here.
A missing required cache-key input (common for workflows still on the v1 invocation style) was reported to /stickydisks/report-failed as a STICKYDISK_SETUP failure, polluting platform failure metrics and paging alerts with what is a user configuration error. Introduce UserInputError, throw it from our own cache-key validation (replacing the @actions/core required-input throw), and have reportBuildPushActionFailure skip reporting any UserInputError. User-facing behavior is unchanged: the action still warns and falls back to a local builder (or fails with nofallback), now with a clearer migration message. dist/ is intentionally not rebuilt here; it is rebuilt as part of the release process. Co-authored-by: Codesmith Staging <[email protected]>
piob-io
force-pushed
the
fix/dont-report-user-input-errors
branch
from
July 28, 2026 13:05
009a436 to
d2fdadc
Compare
dist as built by CI from this exact source (commit 04c811d, produced by the since-removed update-dist workflow run with BUF_TOKEN). Co-authored-by: Codesmith Staging <[email protected]>
pbardea
approved these changes
Jul 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

The v2 API deliberately made
cache-keya required input. Workflows still using the v1 invocation style hit the@actions/corerequired-input throw (Input required and not supplied: cache-key) insidegetStickyDisk, which the setup error path then shipped to/stickydisks/report-failedas aSTICKYDISK_SETUPfailure. That pollutes platform failure metrics with pure user configuration errors and has been tripping the per-region failure-rate paging alert (~6k reports/day fleet-wide). useblacksmith/web#10236 currently filters this backend-side by string-matching the message; this PR fixes it at the source so no string matching is needed anywhere.User misconfiguration is now modeled as a distinct error type instead of an error string.
getStickyDiskvalidatescache-keyitself (up front, before creating the agent client) and throwsUserInputErrorwith an actionable v2 migration message, and the reporter structurally refuses to send anyUserInputErrorto the backend:Guarding centrally in
reportBuildPushActionFailure(rather than at thesetupStickyDiskcall site) means every present and future call site is covered.User-facing behavior is unchanged: the error still propagates exactly as before, so the action warns and falls back to the local builder (or fails the job when
nofallbackis set), just with a clearer message telling the user to addcache-key.dist/index.jsanddist/index.js.mapare updated with the CI-built bundle for this source, matching repo convention.Summary
UserInputErrortype for workflow misconfiguration errorsgetStickyDiskvalidatescache-keyitself and throwsUserInputErrorwith a v2 migration hintreportBuildPushActionFailurenever reportsUserInputErrorto the backend