fix(renovate): declare cargo registry via customEnvVariables so cargo receives it#164
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Remplace #163, qui traitait une cause racine incomplète et n'a pas corrigé le problème (vérifié sur un run :
registry index was not foundpersiste).Ce que #163 a manqué
Il y a deux filtres d'environnement en série. #163 n'a réparé que le premier.
renovatebot/github-actionfiltreprocess.envavant de peupler le conteneur (env-regex) — réparé par fix(renovate): pass private cargo registry env vars through to the Renovate container #163.Le second est visible dans
lib/util/exec/env.ts: l'environnement des commandes lancées par Renovate est construit depuis une allowlist, pas hérité.basicEnvVarsest une liste en dur (CI,PATH,HOME, proxies,SSL_CERT_*…) qui ne contient aucunCARGO_*. Une variable déclarée enenv:de step atteint donc le process Renovate mais est retirée avant que cargo la voie. Rien ne loggue qu'elle a été jetée — le seul symptôme est l'échec de parsing du manifeste, ce qui rend le diagnostic trompeur.getChildEnv(lib/util/exec/utils.ts) montre la seule voie d'entrée :Correctif
Déclarer le registre via
customEnvVariables(RENOVATE_CUSTOM_ENV_VARIABLES), qui alimenteglobalConfigEnvet atteint donc cargo.Ça rend l'
env-regexde #163 superflu, et pas seulement insuffisant :RENOVATE_CUSTOM_ENV_VARIABLESporte le préfixeRENOVATE_et traverse nativement le filtre par défaut de l'action, avec les valeurs embarquées dans son JSON. L'override d'env-regexet les deuxCARGO_*enenv:nu sont donc retirés — le filtre par défaut de l'action redevient effectif.Vérifié en local : YAML parsé, JSON valide après interpolation du secret, les deux clés attendues, et
RENOVATE_CUSTOM_ENV_VARIABLESpasse bien le regex par défaut de l'action.À confirmer après merge
Aucun check CI ne couvre ceci — la validation vient d'un run réel. Critère de succès : plus de
registry index was not founddans les logs.Si le token est mal câblé, une erreur distincte apparaîtra alors (401/403), l'auth du registre n'ayant jamais encore été exercée jusqu'ici.