Feature: Enforce conventional commits and use it to set ArtifactHub.io annotations
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
調査の方向性
Helm ChartファイルとGitHub Actionsのリリースワークフローから始め、次にissueでリンクされているconventional commitsとArtifactHubアノテーションの形式を確認します。PythonとBashの例を比較し、アプローチを選択する前にリポジトリのリリースポイントを特定します。完了の条件は、コミットが検証され、リリースに要求されたArtifactHubアノテーションとissueリンクが含まれていることです。
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- Go Template
- スター
- 536
- フォーク
- 316
- 平均マージ
- 4日 16時間
- マージ済み PR(30日)
- 2
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
nextcloud/helm のほかの issue
-
No native support for REDIS_USER enviroment var対応中かも @jholmes802 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
nextcloud.openmetrics.allowedClients is silently ignored unless nextcloud.configs is set対応中かも @JanWelker が 17 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 78/100
-
External Redis not working: redis-session.ini: Permission denied対応中かも @antoinetran が 21 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
似ている issue
-
Sanity on ansible-core devel fails: ignore-2.23.txt references the removed import-3.9 test対応中かも @yurnov が今日担当しました。 オープンneeds_triage
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
ansible-collections/kubernetes.core#1275 ·
メンテナーはふだん 1 日以内に返信
-
bug milestone-qa
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
lognorman20/monaco#3995 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
gnosis/gnosis_vpn#540 ·
メンテナーはふだん 1 日以内に返信
-
e2e-failure ready-to-code
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
redhat-developer/rhdh-plugin-export-overlays#4261 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信