`useJobToken` verifyConditions omits proxy, so `got` bypasses `HTTPS_PROXY`
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- Menos de una hora
- Aptitud para principiantes
- 90/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- javascript
- Área
- api
Línea de trabajo
Empieza en lib/verify.js, en la rama useJobToken, y luego compara su llamada got.get con la ruta PAT y las llamadas got en lib/publish.js. Revisa lib/resolve-config.js para entender cómo se construye el agente proxy. Está terminado cuando verifyConditions usa ese proxy al ejecutarse la autenticación mediante job-token, incluso detrás de HTTP_PROXY o HTTPS_PROXY.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
When useJobToken: true is set, verifyConditions fails behind HTTP_PROXY/HTTPS_PROXY before any GitLab API response is received.
got does not honor those env vars by itself. This plugin builds a proxy agent in lib/resolve-config.js (hpagent) and is supposed to pass it as ...proxy on every got call.
The job-token branch in lib/verify.js does not:
if (useJobToken) {
logger.log("Using Job Token for authentication. Some functionality may be disabled.");
await got.get(urlJoin(projectApiUrl, "releases"), { headers: { [tokenHeader]: gitlabToken } });
} else {
await got.get(projectApiUrl, {
headers: { [tokenHeader]: gitlabToken },
...proxy,
});
}
lib/publish.js already spreads ...proxy on got.post / got.put. Verify dies first, so those never run.
Expected
Job-token verify uses the same proxy agent as the PAT verify path and as publish.
Actual
got.get connects directly to the GitLab host. In an environment where GitLab is only reachable via the proxy (typical Docker runner with git config http.proxy $HTTP_PROXY), this fails with a connect/TLS error such as:
Error [ERR_SOCKET_CLOSED_BEFORE_CONNECTION]: Socket closed before the connection was established
pluginName: '@semantic-release/gitlab'
Git clone/push still works because git is configured to use the proxy.
Fix
await got.get(urlJoin(projectApiUrl, "releases"), {
headers: { [tokenHeader]: gitlabToken },
...proxy,
});
Patched only that line in @semantic-release/[email protected] and confirmed verifyConditions succeeds with useJobToken: true on GitLab 19.4 behind HTTPS_PROXY.
Environment
@semantic-release/gitlab13.3.3- GitLab 19.4.1, Docker executor, HTTP_PROXY/HTTPS_PROXY required to reach the GitLab API
useJobToken: true, noGL_TOKEN
- Lenguaje dominante
- JavaScript
- Estrellas
- 343
- Forks
- 91
- Merge medio
- 4 h 29 min
- PR fusionados (30 d)
- 1
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de semantic-release/gitlab
-
bug feature
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
semantic-release/gitlab#891 · 28 comentarios · 15 reacciones ·
-
Automatically install GitLab CLIAbiertofeature
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
semantic-release/gitlab#857 · 1 reacción ·
-
Autodetect components projectQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertofeature
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
semantic-release/gitlab#851 ·
-
feature help wanted
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
semantic-release/gitlab#830 · 5 comentarios ·
-
Support releasing GitLab CI componentsQuizá libre de nuevo @fgreinacher la tomó hace 625 días y no hay ningún pull request abierto. Abiertofeature
semantic-release/gitlab#822 · 1 comentario · 3 reacciones · 1 asignado ·
Todos los issues de semantic-release/gitlab
Issues similares
-
赞~Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
DeanChensj/jiangshan-map#221 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 13 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
AtlasOfLivingAustralia/species-lists#874 ·
Los mantenedores suelen responder en 1 día
-
Slack: DM thread replies sent with "Also send to..." never reach the agentPosiblemente ocupada @roboeve la tomó hoy. Abiertobug channel:slack p2
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
vercel/eve#5774 · 2 comentarios ·
Los mantenedores suelen responder en 1 día