关于问题
无法成功将 code scanning 默认设置为“Enabled”的 security configuration 应用到对 code scanning 使用高级设置的目标存储库。 高级设置均根据存储库的特定安全需求定制,因此不应大规模重写这些设置。
如果尝试将 code scanning 设置为“Enabled”的 security configuration 附加到已使用高级设置的存储库,则安全设置将按如下方式应用:
- 不会启用 Code scanning 默认设置,高级设置会继续正常运行。****
- 将启用配置中启用的其他所有安全功能。****
- security configuration 不会附加到存储库,因为仅启用了配置中的某些功能。****
对于没有处于活动状态的高级设置的所有存储库,将会按照预期应用 security configuration,并将会启用 code scanning 默认设置。
注意
如果存储库的高级设置被视为处于非活动状态,则仍会为该存储库启用默认设置__。 如果存储库满足以下任一条件,则存储库的高级设置将被视为处于非活动状态:
- 最新的 CodeQL 分析已超过 90 天
- 所有 CodeQL 配置均已删除
- 工作流文件已被删除或禁用(仅适用于基于 YAML 的高级设置)
解决问题
有三种方法可以解决此问题:
- 在 security configuration 中将“Default setup”选项从“Enabled”更改为“Enabled with advanced setup allowed"。**** 选项从 GitHub Enterprise Server 3.19 开始可用。 编辑 security configuration 后,将其重新应用到存储库。 有关详细信息,请参阅“删除自定义安全配置”。
- 更新受影响的存储库,以便在存储库级别对 code scanning 使用默认设置,然后将 security configuration 重新应用到存储库。**** 有关详细信息,请参阅“配置代码扫描的默认设置”。
- 创建新的自定义 security configuration,并且其中不包含 code scanning 的设置,然后将此 security configuration 应用于使用高级设置的存储库。**** 有关详细信息,请参阅“删除自定义安全配置”。