Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix release proposal failing when stderr has output #5362

Merged
merged 1 commit into from
Mar 5, 2025

Conversation

rochdev
Copy link
Member

@rochdev rochdev commented Mar 4, 2025

What does this PR do?

Fix release proposal failing when stderr has output.

Motivation

It's common for stderr to have output even without any error, which would end up failing the script. By instead relying on the status code, we can simplify the code and only abort on actual errors.

Copy link

github-actions bot commented Mar 4, 2025

Overall package size

Self size: 8.83 MB
Deduped: 95.43 MB
No deduping: 95.95 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.5.0 | 29.83 MB | 29.83 MB | | @datadog/native-appsec | 8.4.0 | 19.25 MB | 19.26 MB | | @datadog/native-iast-taint-tracking | 3.3.0 | 13.77 MB | 13.78 MB | | @datadog/pprof | 5.5.1 | 9.79 MB | 10.17 MB | | protobufjs | 7.2.5 | 2.77 MB | 5.16 MB | | @datadog/native-iast-rewriter | 2.8.0 | 2.6 MB | 2.74 MB | | @opentelemetry/core | 1.14.0 | 872.87 kB | 1.47 MB | | @datadog/native-metrics | 3.1.0 | 1.06 MB | 1.46 MB | | @opentelemetry/api | 1.8.0 | 1.21 MB | 1.21 MB | | import-in-the-middle | 1.13.1 | 117.64 kB | 840.3 kB | | source-map | 0.7.4 | 226 kB | 226 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | lru-cache | 7.18.3 | 133.92 kB | 133.92 kB | | pprof-format | 2.1.0 | 111.69 kB | 111.69 kB | | @datadog/sketches-js | 2.1.0 | 109.9 kB | 109.9 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 5.3.2 | 53.63 kB | 53.63 kB | | shell-quote | 1.8.1 | 44.96 kB | 44.96 kB | | istanbul-lib-coverage | 3.2.0 | 29.34 kB | 29.34 kB | | rfdc | 1.3.1 | 25.21 kB | 25.21 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | limiter | 1.1.5 | 23.17 kB | 23.17 kB | | dc-polyfill | 0.1.4 | 23.1 kB | 23.1 kB | | retry | 0.13.1 | 18.85 kB | 18.85 kB | | semifies | 1.0.0 | 15.84 kB | 15.84 kB | | jest-docblock | 29.7.0 | 8.99 kB | 12.76 kB | | crypto-randomuuid | 1.0.0 | 11.18 kB | 11.18 kB | | ttl-set | 1.0.0 | 4.61 kB | 9.69 kB | | path-to-regexp | 0.1.12 | 6.6 kB | 6.6 kB | | koalas | 1.0.2 | 6.47 kB | 6.47 kB | | module-details-from-path | 1.0.3 | 4.47 kB | 4.47 kB |

🤖 This report was automatically generated by heaviest-objects-in-the-universe

Copy link

codecov bot commented Mar 4, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 80.69%. Comparing base (743f896) to head (396842d).
Report is 4 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #5362   +/-   ##
=======================================
  Coverage   80.69%   80.69%           
=======================================
  Files         491      491           
  Lines       21860    21860           
=======================================
  Hits        17640    17640           
  Misses       4220     4220           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@datadog-datadog-prod-us1
Copy link

Datadog Report

Branch report: fix-release-proposal-stderr
Commit report: a2a2255
Test service: dd-trace-js-integration-tests

✅ 0 Failed, 662 Passed, 0 Skipped, 11m 26.36s Total Time

@pr-commenter
Copy link

pr-commenter bot commented Mar 4, 2025

Benchmarks

Benchmark execution time: 2025-03-04 22:34:24

Comparing candidate commit 396842d in PR branch fix-release-proposal-stderr with baseline commit 743f896 in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 917 metrics, 16 unstable metrics.

@rochdev rochdev requested a review from watson March 4, 2025 22:44
@rochdev rochdev marked this pull request as ready for review March 4, 2025 22:44
@rochdev rochdev requested a review from a team as a code owner March 4, 2025 22:44
Comment on lines +82 to +83
if (result.status) {
throw new Error(stderr)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If result.status is not zero, and error will already have been thrown above on line 71, so this if-block can be removed.

Comment on lines -79 to -97
if (stderr) {
if (flags['no-abort-on-error']) {
log(`${RED}${stderr}${RESET}`)
} else {
fatal(
stderr,
'Aborting due to error! Use --no-abort-on-error to ignore and continue.'
)
}
}
} else if (treatStderrAsFailure && stderr) {
if (flags['no-abort-on-error']) {
log(`${RED}${stderr}${RESET}`)
} else {
fatal(
stderr,
'Aborting due to error! Use --no-abort-on-error to ignore and continue.'
)
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing this will unfortunately get us back to the original problem, which prompted me to make this change in the first place: The branch-diff tool will exit with a status code zero, but output errors on STDERR if there's a permission issue.

While I have also updated the requirements check to check that the expected permissions are in place, it would still be nice to have some sort of guardrail in place for when branch-diff runs into issues.

However, instead of defaulting to throwing on output to STDERR, maybe we should change the default to ignoring it, and only for branch-diff commands we can enable it.

Alternatively, or in combination with this, we could also change the default to only output STDERR, but not abort on it.

What do you think about all this?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any way to force the command to throw when there is an error at the command level? A bit like when the output if redirected to /dev/null, but kind of the opposite of that.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For now I will merge and we can address in another PR since this is blocking all releases.

@rochdev rochdev merged commit 45f2649 into master Mar 5, 2025
397 checks passed
@rochdev rochdev deleted the fix-release-proposal-stderr branch March 5, 2025 20:11
@rochdev rochdev mentioned this pull request Mar 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants