Make create-branch script more robust in case the jenkins job fails unexpectedly
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- git, php
- Área
- build-system, ci-cd, release
Línea de trabajo
Comienza inspeccionando el script create-branch y los registros de los trabajos de Jenkins de Flow y Neos enlazados; después, sigue cómo se gestionan las comprobaciones y los pushes de ramas remotas. Se considera completado cuando una nueva ejecución puede recuperar de forma segura un trabajo interrumpido, rechaza las ramas con más de un commit inesperado e informa del comportamiento relevante de la protección contra force-push.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
While trying to create branches for 7.1 jenkins somehow failed me (for both Flow and Neos) and timed out in the middle of doing it's stuff.
See
https://jenkins.neos.io/job/flow-create-branch/20/console
https://jenkins.neos.io/blue/organizations/jenkins/neos-create-branch/detail/neos-create-branch/20/pipeline/
This lead to a couple of things:
- seemingly not all repos had the branches created
- not sure if all post-branch tasks were finished
- jobs are marked as failed, so whoever is looking will see big red dots
- restarting the jobs fails with a push error, because of history mismatch
- unless you have admin access to all potentially affected repositories and know how to "unprotect" branches, you can not progress
So what can we do to make this process easier to recover from in the future?
- check if remote branch already exists, if not proceed as normal
- if branch exists, check if the remote branch is more than 1 commit ahead (git rev-list HEAD..origin/{$branch}--count)
- if remote is more than 1 commit ahead, fail with "YOU CAN'T RESET AN EXISTING VERSION WITH CHANGES, BRO!"
- if it's less, just do --force push and go on, writing a notice level message of "RECREATING BRANCH, DID IT FAIL THE LAST TIME?!"
To check: does the jenkins job have force-push protection overriding rights (is it in the admin group)?
- Lenguaje dominante
- PHP
- Estrellas
- 9
- Forks
- 10
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin 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 neos/BuildEssentials
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
neos/BuildEssentials#54 · 3 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
neos/BuildEssentials#35 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 32/100
neos/BuildEssentials#29 · 1 comentario ·
Todos los issues de neos/BuildEssentials
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
woocommerce/woocommerce-paypal-payments#4838 ·
Los mantenedores suelen responder en 1 día
-
sync-en
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
nunomaduro/dev-null.sh#1161 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100