migrate-code-scanning-alerts fails with OverflowException: analysis IDs now exceed Int32.MaxValue
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
Línea de trabajo
Empieza por src/Octoshift/Models/CodeScanningAnalysis.cs y las referencias al análisis y a GetSarifReport en src/Octoshift/Services/GithubApi.cs; revisa las pruebas relacionadas con los tipos de ID de análisis. Reproduce el problema con un ID de análisis de code scanning superior a 2,147,483,647 y, después, verifica que la migración supere el desbordamiento y que pasen las pruebas relacionadas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
gh gei migrate-code-scanning-alerts (v1.35.0, latest) now fails with:
[ERROR] System.OverflowException: Value was either too large or too small for an Int32.
right after Migrating Code Scanning Analyses from '<source>' to '<target>', before any SARIF is downloaded or uploaded.
Cause
Code scanning analysis IDs returned by the REST API now exceed Int32.MaxValue (2,147,483,647). Across many repositories we see IDs above that limit starting around 2026-11-11 (for example 2153368829, 2155212725), while older analyses are below it.
GEI parses analysis IDs as 32-bit integers:
src/Octoshift/Models/CodeScanningAnalysis.cs:public int Id { get; set; }src/Octoshift/Services/GithubApi.cs:Id = (int)codescan["id"],(casting the JSON value overflows)src/Octoshift/Services/GithubApi.cs:GetSarifReport(string org, string repo, int analysisId)
Any repository whose source or target has at least one analysis with an ID above Int32.MaxValue on the default branch fails immediately. Repositories whose analyses all predate the rollover still migrate successfully, so the failure rate grows as repositories are re-scanned.
Steps to reproduce
- Use a source repository with any code scanning analysis created recently (ID > 2147483647).
- Run
gh gei migrate-code-scanning-alerts --source-org <org> --source-repo <repo> --target-org <org> --target-repo <repo>. - GEI exits with status 1 and the
OverflowExceptionabove.
Suggested fix
Use long for code scanning analysis IDs: CodeScanningAnalysis.Id, the (int)codescan["id"] cast in GithubApi, and the analysisId parameter of GetSarifReport (plus related tests). Other REST IDs parsed as int may need the same review.
Environment
- gh-gei v1.35.0 (latest release)
- GitHub Enterprise Cloud (github.com), code scanning migration between organizations
- Lenguaje dominante
- C#
- Estrellas
- 482
- Forks
- 151
- Merge medio
- 2 d 18 h
- PR fusionados (30 d)
- 5
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
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 github/gh-gei
-
task
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
-
task
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
-
Support Fine-grained Personal Access Tokens (PATs) in GEI to enable least-privilege CLI migrationsAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
bbs2gh: support setting custom property values after repository migrationPosiblemente ocupada @enyil la tomó hace 36 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
Todos los issues de github/gh-gei
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
iokode/OpinionatedFramework#140 ·
-
accessibility effort: small enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
pedersebastian/CustomBossChallenge#185 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
dotnet/command-line-api#2887 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
JiaFeiMiao-K-Cat/DiscImageStudio#331 ·
Los mantenedores suelen responder en 1 día