allure-framework / allure-framework/allure3
[CLI] `allure serve` silently exits without starting the server when `historyPath` is set
- Dominant language
- HTML
- Stars
- 401
- Forks
- 58
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 34
Description
Title: [CLI] `allure serve` silently exits without starting the server when `historyPath` is set
### Describe the bug
When `allurerc.mjs` contains a `historyPath`, `allure serve` generates the report (plugins run, history file is written) but then **exits silently without starting the HTTP server** — no "Allure is running on ..." line, no error, nothing to connect to. Removing `historyPath` from the config makes `serve` work again.
`allure generate` + `allure open` work fine with the same config, so the history feature itself is OK — only the `serve` flow is affected.
### To Reproduce
```bash
mkdir -p repro/allure-results && cd repro
cat > allure-results/x-result.json <<'EOF'
{"uuid":"11111111-1111-1111-1111-111111111111","historyId":"abc","name":"dummy test","status":"passed","stage":"finished","start":1784900000000,"stop":1784900001000,"labels":[],"steps":[],"parameters":[],"links":[]}
EOF
cat > allurerc.mjs <<'EOF'
export default {
name: 'repro',
historyPath: './allure-history.jsonl',
};
EOF
npx allure serve allure-results
# -> generates, writes allure-history.jsonl, then exits silently. No server, no output.
```
Now remove `historyPath`:
```bash
echo "export default {name: 'repro'}" > allurerc.mjs
npx allure serve allure-results
# -> "Allure is running on http://localhost:" — works.
```
### Expected behavior
`allure serve` starts the server (and prints the URL) regardless of whether run history is configured — or at least fails with an explicit error message.
### Environment
- allure (npm CLI): 3.14.3
- Node.js: 24.18.0
- OS: macOS 15 (darwin 25.5.0)
- Reproduces both with a single default plugin and with multiple plugins (awesome/dashboard/log); bisected — `historyPath` is the only trigger.
Contributor guide
Assessment
This issue has not been assessed yet.