Agent-job engine-install "Setup Node.js" step ignores `runtimes.node.version`
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 78/100
Piste de recherche
Lisez pkg/workflow/nodejs.go et suivez generateNodeJsSetupStep(data) ainsi que resolveNodeSetupActionOverride(data) pour voir comment les paramètres du runtime arrivent jusqu’à l’étape de configuration générée. Vérifiez comment sont représentées les valeurs importées de runtimes.node.version, puis exécutez les tests pertinents du workflow ou ajoutez un cas ciblé. Le travail est terminé lorsque l’étape d’installation du moteur du job de l’agent utilise la version épinglée, y compris en cas d’épinglage importé, au lieu de la version par défaut.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
When a workflow pins runtimes.node.version, the agent job still gets a second Setup Node.js step that uses the compiler default node-version: '24'. That step comes right before Install AWF binary / the engine CLI install, so it runs after the pinned runtime setup step and overrides it on PATH. The agent and the engine CLI therefore run on whatever 24.x the runner resolves, not on the pinned version.
This is the same class of bug as #65939 (threat-detection job), which ADR 66040 fixed only for the detection / evals jobs.
Repro
Frontmatter:
engine:
id: claude
runtimes:
node:
version: "24.22.1"
Compiled with gh-aw v0.93.2, the agent job contains:
- name: Setup Node.js # runtime setup step, honors the pin
uses: actions/setup-node@... # v7.1.0
with:
node-version: '24.22.1'
...
- name: Setup Node.js # engine install step, ignores the pin
uses: actions/setup-node@... # v7.1.0
with:
node-version: '24'
package-manager-cache: false
- name: Install AWF binary
- name: Install Claude Code CLI
The detection job correctly emits '24.22.1'.
Cause
pkg/workflow/nodejs.go, generateNodeJsSetupStep hardcodes constants.DefaultNodeVersion:
fmt.Sprintf(" node-version: '%s'", constants.DefaultNodeVersion),
It already honors runtimes.node.action-repo / action-version through resolveNodeSetupActionOverride(data), but not version. This is still the case on main as of 2026-11-10 (also present in v1.2.2).
Expected
When runtimes.node.version is set (including through imports), generateNodeJsSetupStep(data) should emit that version. Alternatively, it should skip the redundant setup-node step when the runtime setup step has already installed Node in the same job.
Impact
Anyone who pins Node for a security fix ends up with the engine and agent running on an unpinned Node. The only workaround is to hand-patch the .lock.yml after every gh aw compile.
- Langage dominant
- Go
- Étoiles
- 5.6k
- Forks
- 615
- Merge moyen
- 5 h 21 min
- PR mergées (30 j)
- 792
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de github/gh-aw
-
automation documentation
Difficulté 1/5 Moins d'une heure Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
agent-research cookie
Difficulté 2/5 1-3 heures Accessibilité débutants 69/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
awf community
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
github/gh-aw#76385 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
automation cli-tools testing
Difficulté 1/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de github/gh-aw
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
GitHub webhook is not subscribed to release events, so `event: release` never triggersPeut-être pris @qsun l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
woodpecker-ci/woodpecker#7542 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
zilliztech/milvus-backup#1386 ·
Les mainteneurs répondent en général sous 1 jour
-
Pipelined flush no longer observes kill signals after #2042: flush backoffer is built with nil varsOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour