fastify / fastify

Fast and low overhead web framework, for Node.js

Home Page:https://www.fastify.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Benchmark workflow is broken

mweberxyz opened this issue · comments

Prerequisites

  • I have written a descriptive issue title
  • I have searched existing issues to ensure the issue has not already been raised

Issue

The PR benchmark tag workflow (https://github.com/fastify/fastify/blob/main/.github/workflows/benchmark.yml) is currently broken.

Dependencies are installed with npm install --only=production -- but the benchmark calls concurrently which is listed as a devDependency.

See: https://github.com/mweberxyz/fastify/actions/runs/8005536797/job/21865200203

There is also an on-going discussion for cleaning up the (also broken, but for a different reason) plugins-benchmark-pr workflow: fastify/workflows#120, so at the conclusion of that discussion, the same improvements to ensure the workflow runs correctly and is properly labeled cross-fork ought to be implemented here.

autocannon is also used by npm benchmark and listed in devDependencies

As for the fix, would it be preferable to:
a) remove the --only=production from the Install steps, or
b) explicitly install autocannon and concurrently via npm during the workflow Install steps, keeping the npm dependencies installed to a minimum during benchmark runs?

remove tthe --only=production is imho good

commented

The history is just remove and adding back, remove and adding it back.
Removed from #3167
Added from #5240

Why not just keep the devDependencies and use npx so it can either get from devDependencies when it exist or download when not exist.

I've got some potential improvements cooking over in fastify/workflows#121

If there's interest in moving in that direction, I will push forward to get the necessary changes made here which would resolve this issue, otherwise I'll just get a small PR up to fix this specific issue.