バグ分類のガイドライン

This page describes the typical workflow of the bug triage team aka bugsquad when handling issues and pull requests on Godot's GitHub repository. It is bound to evolve together with the bugsquad, so do not hesitate to propose modifications to the following guidelines.

問題管理

GitHubは課題を管理するためのさまざまな機能を提案します:

  • 定義済みリストから1つまたは複数のラベルを設定する

  • 定義済みの一覧からマイルストーンを1つ設定する

  • プロジェクト・ダッシュボードで問題を追跡する

  • Godotエンジン組織メンバーの間で1人の貢献者を「担当者」として定義します

GitHubのGodotエンジン組織には現在、限られた数の貢献者しかいないため当面は譲受人を広範囲に使用しません。すべての寄稿者は問題があればそれをissueチケットに記載したり、他の開発者と解決するための最善の方法を話し合った後で関連しているなら、どのような問題でも解決することを歓迎します。

For the time being, we do not use the project dashboard feature either.

可能な限り、ラベル(および関連する場合はマイルストーン)をissueとpull requestの両方に割り当てます。

ラベル

現在、Godotリポジトリでは以下のラベルが定義されています:

カテゴリ:

  • Archived: 他の問題の重複、または無効です。 このような問題も解決されるでしょう。

  • Breaks compat: describes something that can only be fixed by breaking compatibility with existing projects.

  • Bug:正しく動作していないものを示します。

  • Cherrypick: describes something that can be backported to a stable branch after being merged in the master branch.

  • Crash: describes a bug that causes the engine to crash. This label is only used for "hard" crashes, not freezes.

  • Confirmed:バグ報告者以外の少なくとも1人の貢献者によって確認されています(通常はバグ報告用)。 このラベルの目的は、作業対象を選択するときに、どの問題がまだ再現可能であるかを開発者に知らせることです。 したがって、問題を再現できるプラットフォームとGodotのバージョンまたはコミットに関するコメントを追加することをお勧めします。 開発者が1年後に問題を見ると、Confirmedラベルはもう関係ないかもしれません。

  • Discussion:問題は合意に達しておらず、トピックに対処するために何をすべきかを正確に定義するために、さらなる議論が必要です。

  • Documentation: ドキュメントに関連する問題。主に APIドキュメントの機能強化を要求します。ReadTheDocs ドキュメントに関連する問題は、 godot-docsリポジトリに提出する必要があります。

  • Enhancement: 既存の機能に対して提案された拡張機能について説明します。

  • Feature proposal: describes a wish for a new feature to be implemented. Note that the main Godot repository no longer accepts feature requests. Please use godot-proposals instead.

  • For PR meeting: the issue needs to be discussed in a pull request meeting. These meetings are public and are held on the Godot Contributors Chat.

  • Good first issue: the issue is assumed to be an easy one to fix, which makes it a great fit for new contributors who need to become familiar with the code base.

  • High priority: the issue is particularly important as it can prevent people from releasing their projects or cause data loss.

  • Needs work: the pull request needs additional work before it can be merged.

  • Needs testing: 問題/プルリクエストを完全にテストできなかったため、さらにテストを行う必要があります。これは、異なるハードウェア/ソフトウェア構成でテストする必要があること、または再現する手順が明確でないことを意味します。

  • Performance: issues that directly impact engine or editor performance. Can also be used for pull requests that improve performance or add low-end-friendly options. Should not be coupled with Usability.

  • PR welcome / Hero wanted!: Contributions for issues with these labels are especially welcome. Note that this doesn't mean you can't work on issues without these labels.

  • Regression: the bug appeared after a stable release not exhibiting the bug was released.

  • Salvageable: the pull request can't be merged due to design issues or merge conflicts and its author is not active anymore. However, it can still be picked up by an external contributor to bring it to a mergeable state. To do so, you need to open a new pull request based on the original pull request.

  • Tracker:他の問題を追跡するために使用される問題(プラグインシステムに関連するすべての問題のような)。

  • Usability: issues that directly impact user usability. Should not be coupled with Performance.

カテゴリは、問題の一般的な優先順位付けに使用されます。例えば、ユーザビリティを向上させるための問題であれば、EnhancementUsability というラベルを同時に付けることができます。あるいは、合意に達していない機能要求であったり、作業するのに十分に正確でないものであれば、Feature proposalDiscussionです。

トピック:

  • 2D: relates to 2D-specific issues. Should be coupled with one of the labels below, and should not be coupled with 3D.

  • 3D: relates to 3D-specific issues. Should be coupled with one of the labels below, and should not be coupled with 2D.

  • Assetlib:アセットライブラリの問題に関連します。

  • Audio:オーディオ機能(低レベルと高レベル)に関連しています。

  • Buildsystem:SConsビルドシステムまたはコンパイラの特殊性にリンクされたビルドの問題に関連します。

  • Codestyle: relates to the programming style used within the codebase.

  • Core:コアエンジンに関連するもの。それはかなり大きな話題なので、後でさらに分割されるかもしれません。

  • Editor:エディタの問題(主にUI)に関連します。

  • GDNative:GDNativeモジュールに関連します。

  • GDScript:GDScript に関連します。

  • GUI: relates to GUI (Control) nodes.

  • Import: relates to the resource import system.

  • Input: relates to input system.

  • Mono: C#/Mono バインディングに関連します。

  • Navigation: relates to the navigation system (including A* and navmeshes).

  • Network:ネットワークに関連します。

  • Physics:物理エンジン(2D/3D)に関連します。

  • Plugin:プラグインの書き込み中に発生した問題に関連しています。

  • Porting: relates to some specific platforms or exporting projects.

  • Rendering:2Dおよび3Dレンダリングエンジンに関連します。

  • Shaders: relates to the Godot shader language or visual shaders.

  • Tests: relates to unit tests.

  • Thirdparty: relates to third-party libraries used in Godot.

  • VisualScript: relates to issues with the visual scripting language (not visual shaders).

  • XR: relates to Augmented Reality or Virtual Reality.

通常、問題は1つのトピックにのみ対応しますが、2つの案に当てはまる問題を見つけることは考えられません。 一般的な考え方は、すべてのトピックの背後に専門の貢献者チームがあるため、チームのトピックでラベル付けされた問題に集中できるということです。

プラットフォーム:

AndroidHTML5iOSLinuxmacOSWindowsUWP

デフォルトでは、特定の問題がすべてのプラットフォームに適用されると想定されています。プラットフォームラベルのいずれかが使用された場合、それは排他的であり、以前の前提はもはや存在しません(AndroidとLinuxのみのバグの場合は、この2つのプラットフォームを選択してください。)。

Documentation labels

In the documentation repository, we use the following labels:

  • Bug: Incorrect information in an existing page. Not to be used for missing information.

  • Class reference: the issue is about the class reference, not a documentation page.

  • Discussion:問題は合意に達しておらず、トピックに対処するために何をすべきかを正確に定義するために、さらなる議論が必要です。

  • Enhancememnt: new information to be added in an existing page.

  • New page: a new page to be created.

  • Hero wanted!: contributions for issues with these labels are especially welcome. Note that this doesn't mean you can't work on issues without these labels.

  • Organization: The issue involves moving pages around or reorganizing content.

  • Redirect: a redirection needs to be created in the Read the Docs backend. Only administrators can do this.

  • Salvageable: the pull request can't be merged due to design issues or merge conflicts and its author is not active anymore. However, it can still be picked up by an external contributor to bring it to a mergeable state. To do so, you need to open a new pull request based on the original pull request.

  • Topic:Mono: the issue is about C# support in Godot.

  • Topic:Website: the issue relates to the Sphinx/Read the Docs frontend or backend, not the documentation contents.

マイルス トーン

Milestones correspond to planned future versions of Godot for which there is an existing roadmap. Issues that fit in the said roadmap should be filed under the corresponding milestone; if they don't correspond to any current roadmap, they should be left without milestone. As a rule of thumb, an issue corresponds to a given milestone if it concerns a feature that is new in the milestone, or a critical bug that can't be accepted in any future stable release, or anything that Juan wants to work on right now. :)

貢献者は、割り当てられたマイルストーンに関係なく、問題を自由に選択できます。 緊急とみなされなかったため、マイルストーンのないバグの修正が提案された場合、それでも大歓迎です。