angular / angular/dev-infra

[release tool]: run nvm gracefully to ensure caretaker uses correct node version for publish branch

Open
#312 0 comments 0 reactions 0 assignees View on GitHub
domain: release automation
Dominant language
JavaScript
Stars
77
Forks
83
Avg merge
2d 5h
Merged PRs (30d)
37

Description

The merge tool will currently check out other branches, such as patch, LTS etc. For that the node versions could be different and breaking. This currently results in some inconvenient Yarn install engines error mid-publishing in a way where recovering is rather cumbersome..

We should run `nvm` automatically, gracefully as not everbody might have it. If it fails, we print a warning and proceed running the Yarn install. That one could still fail in such cases, but this is expected then.

Note: We have considered using the Bazel-managed Node version (that would be ideal).. but we cannot let Bazel install the node modules as Bazel itself is actually made available through the `@bazel/bazelisk` package (caretaker might not have the proper Bazel version globally installed; if at all)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the merge tool's branch-checkout and Yarn install flow, especially where publishing switches to patch or LTS branches. Check how the tool currently handles environment setup, then verify that nvm is attempted gracefully, warnings are printed when unavailable or failing, and Yarn install still proceeds.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
release, tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.