Enforce fields using explicit presence in CI
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
- Área
- api, backend-api-design
Línea de trabajo
Empieza revisando la recomendación sobre explicit presence, el proceso de Buf para solicitar reglas de lint y la documentación de Buf check-plugin enlazada en el issue. Revisa también el issue #19 para obtener contexto relacionado. Se considera terminado cuando el proyecto cuenta con un mecanismo de enforcement mantenido que garantiza que todos los campos del esquema usan explicit presence.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Because protobuf recommends explicit presence for maximum compatibility with protobuf editions, we should enforce that all fields in our schema use explicit presence.
There are at least two good options to support this enforcement:
- Adding a new lint rule to the Buf CLI: We could make a feature request to Buf that they add a new lint rule enforcing explicit field presence, following their preferred process. They say they'll add rules if they "think they're maintainable and could have widespread value", and since explicit field presence is a documented recommendation directly from the protobuf team, it would be worth giving this approach a shot especially since it is less maintenance work for us in the long run.
- Creating a Buf check plugin: We could make a custom Buf check plugin following Buf's documentation which enforces explicit presence on all fields. This would probably we less that 50 lines of code, and we could use it in the future to enforce other Accrescent-specific protobuf rules. Since we don't yet have another need for a Buf check plugin, it would be better if we can get an explicit presence lint rule in the Buf CLI isntead, but if that's not possible, writing a Buf check plugin is an acceptable way to go.
See also https://github.com/accrescent/appstore-api/issues/19.
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 1
- Forks
- 0
- Merge medio
- 2 min
- PR fusionados (30 d)
- 19
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.
Issues similares
-
DBFS append mode silently overwrites existing filesPosiblemente ocupada @IlyaKhalafi la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
fsspec/filesystem_spec#2429 ·
Los mantenedores suelen responder en 1 día
-
[Bug]: Retrieval rerank fallback statistics stay zero after provider failurePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
volcengine/OpenViking#7014 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
fedora-copr/copr#4600 ·
Los mantenedores suelen responder en 2 días
-
Routing rule or circuit breaker trip expression with an unknown CEL function hangs daprdPosiblemente ocupada @RaphaelFakhri la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día