Feature: Enforce conventional commits and use it to set ArtifactHub.io annotations
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
Comienza con el archivo de Helm Chart y el flujo de trabajo de release de GitHub Actions; después, revisa los formatos de conventional commits y anotaciones de ArtifactHub enlazados en la issue. Compara los ejemplos de Python y Bash, y determina los puntos de release del repositorio antes de elegir un enfoque. Se considera terminado cuando los commits están validados y los releases contienen las anotaciones de ArtifactHub solicitadas y el enlace a la issue.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Feature
Artifact Hub supports annotations in the Helm Chart file. This allows additional information to be provided to users.
Changes
Changes can be summarized and defined as annotation. This can be archived via artifacthub.io/changes.
annotations:
artifacthub.io/changes: |
- kind: added
description: Cool feature
links:
- name: GitHub Issue
url: https://github.com/issue-url
- name: GitHub PR
url: https://github.com/pr-url
This would provide a changelog on ArtifactHub.io. Subscribers to the chart will be informed of the changes in an email sent by ArtifactHub.io when a new version is released. Similar to the changelog on the ArtifactHub.io website. The figure below shows the changelogs provided by the Gitea project.
Forward to GitHub Issues
Furthermore, an URL can be defined to forward users from ArtifactHub.io to GitHub issues if they want to report an issue:
annotations:
artifacthub.io/links: |
- name: support
url: https://github.com/nextcloud/helm/issues
I think this is a great feature for directing users to the right place to report bugs. ArtifactHub.io then displays a special badge on your website with the name Report Issue.
Further annotations
A complete list of supported annotations and the structure can be found on their website.
Implementation
conventional commits
I think the API is clear. The annotations must be set in the chart. Except for the changelog, this should also be quite simple.
For the changelog, however, a diff between the last and current release must be created for each release. Based on the git commits, a changelog must be generated and defined as an annotation in the specified format.
Therefore, I propose introducing conventional commits so that the git changelog can be parsed. I think conventional commits have already become established among many developers and should therefore cause less pain. It is advisable to extend the CI and throw an error if conventional commits are ignored.
I'm completely open-minded when it comes to tools, but based on my experience, I would suggest commitlint. As I mentioned above, my colleagues and I have been using Gitea for quite some time now. The corresponding configuration can be found in the project under .commitlintrc.
add changelog annotation
Currently, I don't know of any tool that can be easily integrated into GitHub Actions to add the annotation. For this reason, there are approaches to solve this using Python, as is done in the x509-certificate exporter, or using a Bash script with the help of yq in the Gitea project.
I have no preference. Once the data basis for conventional commits is available, it should be no problem to generate a changelog from it.
upload changelog
Once the changelog is available, it can also be used optionally to generate a release.
Conclusion
I look forward to your feedback. Please interpret the Implementation section as an example only, to gather ideas and inspiration.
Volker
- Lenguaje dominante
- Go Template
- Estrellas
- 537
- Forks
- 317
- Merge medio
- 2 d 3 h
- PR fusionados (30 d)
- 1
Preparar el entorno
- 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 nextcloud/helm
-
No native support for REDIS_USER enviroment varPosiblemente ocupada @jholmes802 la tomó hace 10 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Failed to inspect imageAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Nextcloud pods run as the namespace's default service account: the chart's account is only created with rbac.enabled, which binds the removed PodSecurityPolicyPosiblemente ocupada @martin-mat la tomó hace 1 día. Abierto
Dificultad 3/5 Medio día Aptitud para principiantes 55/100
-
nextcloud.openmetrics.allowedClients is silently ignored unless nextcloud.configs is setPosiblemente ocupada @JanWelker la tomó hace 26 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 78/100
Todos los issues de nextcloud/helm
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
bioconda/bioconda-recipes#70401 ·
Los mantenedores suelen responder en 2 días
-
scope:security type:aquasec
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
AbsaOSS/atum-service#494 ·
-
a11y data import fails with "missing --authors parameter" (npm drops flags in `bin/configure.js`)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
-
[aw] PR Iteration Agent 🔧 failedAbiertoagentic-workflows Needs: Triage :mag:
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
amnezia-vpn/amnezia-client#3297 · 1 comentario ·
Los mantenedores suelen responder en 1 día