slalombuild / secureli

seCureLI is a tool that enables you to experience the delight of building products by helping you get ideas from your head into working software as frictionlessly as possible, in a reliable, secure, scalable, and observable way.
Apache License 2.0
29 stars 3 forks source link

Secureli init fails/errors out on initialization of repo with C# language #512

Closed isaac-heist-slalom closed 2 months ago

isaac-heist-slalom commented 2 months ago

Secureli initalization of a repo with multiple detected coding languages generates an error on the first attempt C# repo generates an error on the first attempt. A second attempt succeeds and does not throw error.

Image

Error message

Exception has occurred: ValidationError
1 validation error for PreCommitSettings
repos -> 9 -> rev
  field required (type=value_error.missing)
  File "/Users/isaac.heist/Projects/secureli/secureli/modules/shared/abstractions/pre_commit.py", line 374, in _read_pre_commit_config
    return PreCommitSettings(**yaml_values)
  File "/Users/isaac.heist/Projects/secureli/secureli/modules/shared/abstractions/pre_commit.py", line 365, in get_pre_commit_config
    return self._read_pre_commit_config(config_file_path)
  File "/Users/isaac.heist/Projects/secureli/secureli/modules/core/core_services/scanner.py", line 67, in _parse_scan_ouput
    pre_commit_config: PreCommitSettings = self.pre_commit.get_pre_commit_config(
  File "/Users/isaac.heist/Projects/secureli/secureli/modules/core/core_services/scanner.py", line 47, in scan_repo
    parsed_output = self._parse_scan_ouput(
  File "/Users/isaac.heist/Projects/secureli/secureli/actions/action.py", line 303, in _run_post_install_scan
    scan_result = self.action_deps.hooks_scanner.scan_repo(
  File "/Users/isaac.heist/Projects/secureli/secureli/actions/action.py", line 221, in _install_secureli
    self._run_post_install_scan(folder_path, config, metadata, new_install)
  File "/Users/isaac.heist/Projects/secureli/secureli/actions/action.py", line 138, in verify_install
    return self._install_secureli(
  File "/Users/isaac.heist/Projects/secureli/secureli/actions/initializer.py", line 30, in initialize_repo
    verify_result = self.verify_install(folder_path, reset, always_yes, files=None)
  File "/Users/isaac.heist/Projects/secureli/secureli/main.py", line 100, in init
    init_result = container.initializer_action().initialize_repo(
  File "/Users/isaac.heist/Projects/secureli/secureli/main.py", line 196, in <module>
    app()
pydantic.error_wrappers.ValidationError: 1 validation error for PreCommitSettings
repos -> 9 -> rev
  field required (type=value_error.missing)

Error reproducible on both Windows and Mac.