Skip to content

ESLint: Run on the latest supported Node.js version#5282

Closed
watson wants to merge 1 commit intomasterfrom
watson/eslint-latest-node-in-ci
Closed

ESLint: Run on the latest supported Node.js version#5282
watson wants to merge 1 commit intomasterfrom
watson/eslint-latest-node-in-ci

Conversation

@watson
Copy link
Copy Markdown
Collaborator

@watson watson commented Feb 17, 2025

What does this PR do?

This changes the GitHub action CI workflow that runs the linter, to use the latest supported Node.js version instead of the oldest (currently version 22 instead of version 18).

Motivation

The linting should produce the same result no matter which version it runs on, so there's no reason to use an older Node.js version for this. If using a newer version, we might even get some benefits like faster runs or better error messages (thought I haven't verified this).

Plugin Checklist

Additional Notes

Copy link
Copy Markdown
Collaborator Author

watson commented Feb 17, 2025

This stack of pull requests is managed by Graphite. Learn more about stacking.

@watson watson self-assigned this Feb 17, 2025
@github-actions
Copy link
Copy Markdown
Contributor

Overall package size

Self size: 8.75 MB
Deduped: 94.95 MB
No deduping: 95.47 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.4.0 | 29.44 MB | 29.44 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.11.2 | 112.74 kB | 835.4 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

@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 17, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 80.91%. Comparing base (1ae023d) to head (9f0df93).
Report is 50 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #5282   +/-   ##
=======================================
  Coverage   80.91%   80.91%           
=======================================
  Files         488      488           
  Lines       21817    21817           
=======================================
  Hits        17654    17654           
  Misses       4163     4163           

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

@datadog-datadog-prod-us1
Copy link
Copy Markdown

Datadog Report

Branch report: watson/eslint-latest-node-in-ci
Commit report: 240e1e6
Test service: dd-trace-js-integration-tests

✅ 0 Failed, 673 Passed, 0 Skipped, 14m 2.67s Total Time

@pr-commenter
Copy link
Copy Markdown

pr-commenter Bot commented Feb 17, 2025

Benchmarks

Benchmark execution time: 2025-02-17 12:22:46

Comparing candidate commit 9f0df93 in PR branch watson/eslint-latest-node-in-ci with baseline commit 1ae023d in branch master.

Found 0 performance improvements and 2 performance regressions! Performance is the same for 906 metrics, 25 unstable metrics.

scenario:plugin-graphql-with-async-hooks-18

  • 🟥 execution_time [+278.996ms; +280.411ms] or [+5.737%; +5.766%]
  • 🟥 max_rss_usage [+90.693MB; +93.615MB] or [+17.162%; +17.716%]

Copy link
Copy Markdown
Member

@BridgeAR BridgeAR left a comment

Choose a reason for hiding this comment

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

I agree that running on a new version would be beneficial. I suggest to use LTS as eslint itself might not support latest

@watson
Copy link
Copy Markdown
Collaborator Author

watson commented Feb 26, 2025

I suggest to use LTS as eslint itself might not support latest

The latest action in one we control and is currently hardcoded to version 22. We decide when to bump this. You can see it here: https://github.com/DataDog/dd-trace-js/blob/master/.github/actions/node/latest/action.yml

@watson watson marked this pull request as ready for review February 26, 2025 05:34
@watson watson requested a review from a team as a code owner February 26, 2025 05:34
@BridgeAR
Copy link
Copy Markdown
Member

@watson true, while we used 19 and 17 before. Is there a reason why we don't directly specify the Node.js LTS version?

@watson
Copy link
Copy Markdown
Collaborator Author

watson commented Feb 26, 2025

@BridgeAR A large portion of our GitHub actions already uses the latest workflow. Whether or not we should create a separate latest-lts action and use that instead for these, I think is a separate, but very valid, discussion. I think that's better suited for another, separate PR.

@watson
Copy link
Copy Markdown
Collaborator Author

watson commented Feb 27, 2025

Closing - This was implemented as part of #5322

@watson watson closed this Feb 27, 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.

2 participants