prisma
prisma-engines
BlogDocsChangelog

fix(qe): fix broken shebang in query-engine-wasm/build.sh

#5050Merged
Comparing
fix-shebang
(
270e457
) with
main
(
5b155e0
)
CodSpeed Performance Gauge
0%
Untouched
11

Benchmarks

Passed

build (medium)
query-engine/schema/benches/schema_builder_bench.rs::benches::criterion_benchmark::schema_builder
CodSpeed Performance Gauge
+1%
2.5 ms2.5 ms
medium_read
query-engine/request-handlers/benches/query_planning_bench.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
317.2 µs317 µs
validate (large)
query-engine/schema/benches/schema_builder_bench.rs::benches::criterion_benchmark::psl
CodSpeed Performance Gauge
0%
70.1 ms70 ms
large_read
query-engine/request-handlers/benches/query_planning_bench.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
1.6 ms1.6 ms
deep_read_query
query-engine/request-handlers/benches/query_planning_bench.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
1.9 ms1.9 ms
small_read
query-engine/request-handlers/benches/query_planning_bench.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
109.1 µs109.1 µs
mutation
query-engine/request-handlers/benches/query_planning_bench.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
6.2 ms6.2 ms
build (small)
query-engine/schema/benches/schema_builder_bench.rs::benches::criterion_benchmark::schema_builder
CodSpeed Performance Gauge
0%
297.2 µs297.2 µs
validate (small)
query-engine/schema/benches/schema_builder_bench.rs::benches::criterion_benchmark::psl
CodSpeed Performance Gauge
0%
2.2 ms2.2 ms
build (large)
query-engine/schema/benches/schema_builder_bench.rs::benches::criterion_benchmark::schema_builder
CodSpeed Performance Gauge
0%
5.1 ms5.1 ms
validate (medium)
query-engine/schema/benches/schema_builder_bench.rs::benches::criterion_benchmark::psl
CodSpeed Performance Gauge
0%
15.2 ms15.2 ms

Commits

Click on a commit to change the comparison range
Base
main
5b155e0
+0.1%
fix(qe): fix broken shebang in query-engine-wasm/build.sh `#!/bin/bash` is non-portable and only works on some systems which has bash in that location, which is not actually standard or necessarily expected. The only two absolute paths one can rely on in portable scripts are `#!/bin/sh` (which is a POSIX standard) and `#!/usr/bin/env` (which is not technically mandated by a formal standard but is de-facto implemented on all Unix systems). None of my systems have a usable bash installation in `/bin/bash`. My Linux system only has bash in `/run/current-system/sw/bin/bash`, so the script fails with `sh: line 2: ./build.sh: cannot execute: required file not found`. My macOS system has an ancient version of bash shipped with the system installed as `/bin/bash` (which Apple last updated in 2007 and will never ever update anymore for license reasons since bash 4+ switched to GPLv3; it's likely to be removed in future macOS versions though as macOS has long replaced bash with zsh as its shell of choice), and in some ways it's worse than not having any since modern bash scripts that assume bash 4 or 5 often fail or produce incorrect results with it. This specific script accidentally happens to work anyway, but the correct bash installation to use on this system is still `/opt/homebrew/bin/bash`. Anything other than `/bin/sh` (be it `bash` or `python` or `node`) can only be dispatched via `/usr/bin/env` if a script is intended to be used on more than one machine because it's not possible to predict where the interpreter is going to be at.
270e457
11 months ago
by aqrln
© 2025 CodSpeed Technology
Home Terms Privacy Docs