Skip to content

Add nvm install timeout options#25

Draft
mokagio wants to merge 2 commits into
mainfrom
mokagio/nvm-install-timeout-timeout-wrapper
Draft

Add nvm install timeout options#25
mokagio wants to merge 2 commits into
mainfrom
mokagio/nvm-install-timeout-timeout-wrapper

Conversation

@mokagio

@mokagio mokagio commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Stacked on #24.

Adds optional timeout and heartbeat controls around nvm install:

  • install-timeout-seconds bounds how long nvm install can run before the plugin terminates it.
  • heartbeat-seconds emits periodic progress messages while nvm install is still running.
  • Timeout handling terminates descendant processes before returning failure.

This is intentionally separate from the Windows PWD normalization fix because it mitigates future hangs but does not address that root cause.

Validation:

  • make test
  • shellcheck hooks/pre-command hooks/lib/nvm-buildkite-plugin.bash tests/nvm-plugin-helpers-test.sh tests/pre-command-smoke-test.sh .buildkite/verify_node.sh
  • ruby YAML parse for .buildkite/pipeline.yml and plugin.yml
  • buildkite-agent pipeline upload --dry-run
  • git diff --check

mokagio added 2 commits June 30, 2026 13:29
This is a mitigation layer rather than the Windows path fix itself.
It lets callers bound `nvm install` and emit periodic heartbeat messages while preserving descendant termination on timeout.

---

Generated with the help of OpenAI Codex, https://openai.com/codex
Backgrounding the nvm shell function directly can return without installing the requested version in the parent hook context.
Run the timed install through a child shell that sources nvm before invoking `nvm install`.

---

Generated with the help of OpenAI Codex, https://openai.com/codex
Base automatically changed from mokagio/nvm-install-timeout to main July 2, 2026 08:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant