CI: invoke Chez via a scheme wrapper, not a symlink
Chez derives its boot-file name from argv0, so a symlink named chez looks for a nonexistent chez.boot (CI failed at the first gate step). Replace the symlink with a wrapper that exec's scheme, preserving argv0 so the boot files resolve.
This commit is contained in:
parent
39efb29134
commit
dd0e0b55cc
1 changed files with 5 additions and 2 deletions
7
.github/workflows/tests.yml
vendored
7
.github/workflows/tests.yml
vendored
|
|
@ -18,9 +18,12 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y chezscheme
|
sudo apt-get install -y chezscheme
|
||||||
# the gate invokes `chez`; Debian/Ubuntu installs it as `scheme`
|
# the gate invokes `chez`; Debian/Ubuntu installs it as `scheme`. A symlink
|
||||||
|
# won't do — Chez derives its boot-file name from argv0, so `chez` would look
|
||||||
|
# for a nonexistent chez.boot. A wrapper that exec's `scheme` keeps argv0.
|
||||||
if ! command -v chez >/dev/null 2>&1; then
|
if ! command -v chez >/dev/null 2>&1; then
|
||||||
sudo ln -s "$(command -v scheme)" /usr/local/bin/chez
|
printf '#!/bin/sh\nexec scheme "$@"\n' | sudo tee /usr/local/bin/chez >/dev/null
|
||||||
|
sudo chmod +x /usr/local/bin/chez
|
||||||
fi
|
fi
|
||||||
chez --version || true
|
chez --version || true
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue