CondProf 插件¶
CondProf 插件是一个用于检查 CondProf 自定义 JSON 文件的代码风格检查工具(参见 testing/condprofile/condprof/customization),如果出现以下情况,它会报告代码风格检查错误:
自定义文件所需的任何插件(例如,参见 testing/condprofile/condprof/customization/webext.json)在通过 firefox-addons 获取任务获取的 tar 文件中找不到(参见 taskcluster/kinds/fetch/browsertime.yml)
或者未找到预期的 firefox-addons 获取任务
本地运行¶
可以使用 mach 运行 CondProf 插件的 mozlint 集成。
$ mach lint --linter condprof-addons <file paths>
或者,如果省略了 --linter condprof-addons
,如果检测到显式传递的任何文件路径是 CondProf 自定义目录的一部分,则仍然会自动选择 condprof-addons
。
如果在传出补丁中检测到自定义文件更改,则 condprof-addons
也会在 mach lint --outgoing
上自动运行。
在 Taskcluster 上运行¶
CondProf 插件作业在代码风格检查作业中显示为 misc(condprof-addons)
。如果对 CondProf 自定义 JSON 文件进行了更改,则应自动运行。
修复报告的错误¶
XPI 文件在 firefox-addons.tar 存档中丢失¶
如果代码风格检查工具检测到 Confprof 自定义文件需要一个插件,但相关 xpi 文件名未包含在通过 firefox-addons 获取任务获取的 firefox-addons.tar 文件中(参见 taskcluster/kinds/fetch/browsertime.yml),则预计会报告此代码风格检查错误。
如果补丁或 Phabricator 修订版不打算合并,而仅用作推送到 Try 的临时补丁或仅在本地应用(例如,使用安装的特定第三方扩展程序运行 tp6/tp6m webextensions 性能测试以收集一些指标和/或 GeckoProfiler 数据),则可以安全地忽略它。
相反,如果补丁或 Phabricator 修订版打算合并到 mozilla-central,则必须在合并更改之前或同时修复代码风格检查错误,方法是:
如果并非打算将该插件包含到所有 tp6/tp6m webextensions 性能测试运行中,则从自定义文件中删除该插件的添加。
更新 taskcluster/kinds/fetch/browsertime.yml 中定义的 firefox-addons 获取任务,方法是在存储资产的 Github 存储库中创建一个拉取请求,并请求来自 #webextensions-reviewer 和 #perftests-reviewers 审查组的同行审查。
firefox-addons taskcluster 配置的 'add-prefix' 属性应设置为 'firefox-addons/'¶
如果遇到此代码风格检查错误,则 taskcluster/kinds/fetch/browsertime.yml 中定义的 firefox-addons 任务缺少 add-prefix 属性,或者其值未设置为预期的 'firefox-addons/' 子目录名称。
这是作为代码风格检查规则强制执行的,因为当 CondProf 实用程序要构建一个预期要加载一些插件 xpi 文件的条件配置文件(参见 testing/condprofile/condprof/customization.webext.json)时,为了避免每次在构建基础设施上构建条件配置文件时都从远程 URL 重新下载相同的 xpi(对于 tp6/tp6m 性能测试,这将每个执行的作业发生一次),CondProf 首先会查看预期的 xpi 文件名是否已存在于 $MOZ_FETCHES_DIR/firefox-addons 中。
未找到 firefox-addons taskcluser 获取配置节¶
如果代码风格检查工具未找到 taskcluster/kinds/fetch/browsertime.yml 中定义的预期的 firefox-addons 任务,或者缺少预期的 fetch 属性,则会遇到此代码风格检查错误。
配置¶
ConfProf 插件目前不提供任何配置文件。