Codesearch: Add a general-purpose Python extractor. [infra/infra : main]

0 views
Skip to first unread message

Alex Ovsienko (Gerrit)

unread,
2:22 AM (8 hours ago) 2:22 AM
to Marc Jin, chromium...@chromium.org, infra-rev...@chromium.org
Attention needed from Marc Jin

Alex Ovsienko added 1 comment

Patchset-level comments
File-level comment, Patchset 2 (Latest):
Alex Ovsienko . resolved

Can we have unit tests?

Open in Gerrit

Related details

Attention is currently required from:
  • Marc Jin
Submit Requirements:
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: infra/infra
Gerrit-Branch: main
Gerrit-Change-Id: I7bf8c62ec9e1cb246d1be7e7102f5d9689e27431
Gerrit-Change-Number: 8063567
Gerrit-PatchSet: 2
Gerrit-Owner: Marc Jin <jm...@google.com>
Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
Gerrit-Attention: Marc Jin <jm...@google.com>
Gerrit-Comment-Date: Wed, 08 Jul 2026 06:21:58 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
unsatisfied_requirement
open
diffy

Alex Ovsienko (Gerrit)

unread,
2:24 AM (8 hours ago) 2:24 AM
to Marc Jin, chromium...@chromium.org, infra-rev...@chromium.org
Attention needed from Marc Jin

Alex Ovsienko added 3 comments

File recipes/recipe_modules/codesearch/resources/kythe/python_extractor.py
Line 20, Patchset 2 (Latest):def build_compilation_unit_json(target, deps, project_root, corpus):
Alex Ovsienko . unresolved

As it's a new file, let's have proper documenattion and type hints.

Line 71, Patchset 2 (Latest): elif "contents" + os.sep + "lib" in abs_path:
Alex Ovsienko . unresolved

How about f strings instead, it's using python 3.11 right?

Line 77, Patchset 2 (Latest): language='python',
Alex Ovsienko . unresolved

Let's unify quotations

Open in Gerrit

Related details

Attention is currently required from:
  • Marc Jin
Submit Requirements:
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: infra/infra
    Gerrit-Branch: main
    Gerrit-Change-Id: I7bf8c62ec9e1cb246d1be7e7102f5d9689e27431
    Gerrit-Change-Number: 8063567
    Gerrit-PatchSet: 2
    Gerrit-Owner: Marc Jin <jm...@google.com>
    Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
    Gerrit-Attention: Marc Jin <jm...@google.com>
    Gerrit-Comment-Date: Wed, 08 Jul 2026 06:24:28 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    unsatisfied_requirement
    open
    diffy

    Marc Jin (Gerrit)

    unread,
    2:24 AM (8 hours ago) 2:24 AM
    to Alex Ovsienko, chromium...@chromium.org, infra-rev...@chromium.org
    Attention needed from Marc Jin

    Marc Jin added 1 comment

    Patchset-level comments
    Marc Jin . resolved

    Alex, need your opinion on this -

    I plan to run this script in the recipes using something like
    `vpython3 python_extractor.py target_dir=[cache_dir]/chrome_infra/infra --root=[cache_dir]/chrome_infra --corpus=chromium.googlesource.com/infra/infra_superproject//main --output_json=[cache_dir]/chrome_infra/infra.json`

    Run this through all the submodules, and then use a go binary to build kzips against these json files.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Marc Jin
    Submit Requirements:
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: infra/infra
    Gerrit-Branch: main
    Gerrit-Change-Id: I7bf8c62ec9e1cb246d1be7e7102f5d9689e27431
    Gerrit-Change-Number: 8063567
    Gerrit-PatchSet: 2
    Gerrit-Owner: Marc Jin <jm...@google.com>
    Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
    Gerrit-Attention: Marc Jin <jm...@google.com>
    Gerrit-Comment-Date: Wed, 08 Jul 2026 06:24:44 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    unsatisfied_requirement
    open
    diffy

    Alex Ovsienko (Gerrit)

    unread,
    2:28 AM (7 hours ago) 2:28 AM
    to Marc Jin, chromium...@chromium.org, infra-rev...@chromium.org
    Attention needed from Marc Jin

    Alex Ovsienko added 1 comment

    Patchset-level comments
    Marc Jin . resolved

    Alex, need your opinion on this -

    I plan to run this script in the recipes using something like
    `vpython3 python_extractor.py target_dir=[cache_dir]/chrome_infra/infra --root=[cache_dir]/chrome_infra --corpus=chromium.googlesource.com/infra/infra_superproject//main --output_json=[cache_dir]/chrome_infra/infra.json`

    Run this through all the submodules, and then use a go binary to build kzips against these json files.

    Alex Ovsienko

    Doesn't seem like it should be an issue, I can't say much about what you are trying to do here, but vpython3 should pass over the parameters to python.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Marc Jin
    Submit Requirements:
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: infra/infra
    Gerrit-Branch: main
    Gerrit-Change-Id: I7bf8c62ec9e1cb246d1be7e7102f5d9689e27431
    Gerrit-Change-Number: 8063567
    Gerrit-PatchSet: 3
    Gerrit-Owner: Marc Jin <jm...@google.com>
    Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
    Gerrit-Attention: Marc Jin <jm...@google.com>
    Gerrit-Comment-Date: Wed, 08 Jul 2026 06:28:13 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Marc Jin <jm...@google.com>
    unsatisfied_requirement
    open
    diffy

    Marc Jin (Gerrit)

    unread,
    3:05 AM (7 hours ago) 3:05 AM
    to Alex Ovsienko, chromium...@chromium.org, infra-rev...@chromium.org
    Attention needed from Alex Ovsienko

    Marc Jin added 4 comments

    Patchset-level comments
    Alex Ovsienko . resolved

    Can we have unit tests?

    Marc Jin

    Added

    File recipes/recipe_modules/codesearch/resources/kythe/python_extractor.py
    Line 20, Patchset 2:def build_compilation_unit_json(target, deps, project_root, corpus):
    Alex Ovsienko . resolved

    As it's a new file, let's have proper documenattion and type hints.

    Marc Jin

    Done

    Line 71, Patchset 2: elif "contents" + os.sep + "lib" in abs_path:
    Alex Ovsienko . resolved

    How about f strings instead, it's using python 3.11 right?

    Marc Jin

    Done

    Line 77, Patchset 2: language='python',
    Alex Ovsienko . resolved

    Let's unify quotations

    Marc Jin

    Done

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Alex Ovsienko
    Submit Requirements:
      • requirement is not satisfiedCode-Owners
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: infra/infra
      Gerrit-Branch: main
      Gerrit-Change-Id: I7bf8c62ec9e1cb246d1be7e7102f5d9689e27431
      Gerrit-Change-Number: 8063567
      Gerrit-PatchSet: 4
      Gerrit-Owner: Marc Jin <jm...@google.com>
      Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
      Gerrit-Attention: Alex Ovsienko <ovsi...@google.com>
      Gerrit-Comment-Date: Wed, 08 Jul 2026 07:05:49 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Alex Ovsienko <ovsi...@google.com>
      unsatisfied_requirement
      open
      diffy

      Alex Ovsienko (Gerrit)

      unread,
      3:07 AM (7 hours ago) 3:07 AM
      to Marc Jin, chromium...@chromium.org, infra-rev...@chromium.org
      Attention needed from Marc Jin

      Alex Ovsienko added 1 comment

      File recipes/recipe_modules/codesearch/resources/kythe/python_extractor.py
      Line 20, Patchset 2:def build_compilation_unit_json(target, deps, project_root, corpus):
      Alex Ovsienko . unresolved

      As it's a new file, let's have proper documenattion and type hints.

      Marc Jin

      Done

      Alex Ovsienko

      Yeah but I also meant like `target: str, deps: list[str] and such. Gemini should figure those out.`

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Marc Jin
      Submit Requirements:
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: infra/infra
        Gerrit-Branch: main
        Gerrit-Change-Id: I7bf8c62ec9e1cb246d1be7e7102f5d9689e27431
        Gerrit-Change-Number: 8063567
        Gerrit-PatchSet: 4
        Gerrit-Owner: Marc Jin <jm...@google.com>
        Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
        Gerrit-Attention: Marc Jin <jm...@google.com>
        Gerrit-Comment-Date: Wed, 08 Jul 2026 07:07:41 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Alex Ovsienko <ovsi...@google.com>
        Comment-In-Reply-To: Marc Jin <jm...@google.com>
        unsatisfied_requirement
        open
        diffy

        Alex Ovsienko (Gerrit)

        unread,
        3:11 AM (7 hours ago) 3:11 AM
        to Marc Jin, chromium...@chromium.org, infra-rev...@chromium.org
        Attention needed from Marc Jin

        Alex Ovsienko added 2 comments

        File recipes/recipe_modules/codesearch/resources/kythe/python_extractor.py
        Line 101, Patchset 4 (Latest): target_corpus = 'python_stdlib'
        Alex Ovsienko . unresolved

        Maybe make this default above everything, and do the same with rel_path = abs_path.lstrip(os.sep)?

        Line 197, Patchset 4 (Latest): return filename.endswith('.py')
        Alex Ovsienko . unresolved

        I would disagree, I can point at plenty of executable pythons that don't have .py in the end. Will we support them later?

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Marc Jin
        Submit Requirements:
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: infra/infra
        Gerrit-Branch: main
        Gerrit-Change-Id: I7bf8c62ec9e1cb246d1be7e7102f5d9689e27431
        Gerrit-Change-Number: 8063567
        Gerrit-PatchSet: 4
        Gerrit-Owner: Marc Jin <jm...@google.com>
        Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
        Gerrit-Attention: Marc Jin <jm...@google.com>
        Gerrit-Comment-Date: Wed, 08 Jul 2026 07:11:16 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        unsatisfied_requirement
        open
        diffy

        Alex Ovsienko (Gerrit)

        unread,
        3:16 AM (7 hours ago) 3:16 AM
        to Marc Jin, chromium...@chromium.org, infra-rev...@chromium.org
        Attention needed from Marc Jin

        Alex Ovsienko added 4 comments

        File recipes/recipe_modules/codesearch/resources/kythe/python_extractor.py
        Line 223, Patchset 4 (Latest): external_search_dirs = [
        d for d in sys.path
        if d and os.path.isdir(d) and not d.startswith(root_dir)
        ]
        Alex Ovsienko . unresolved

        I like lambdas but this one is a bit too much. Maybe use filter instead?

        Line 255, Patchset 4 (Latest): for candidate in repo_files_by_name.get(last_comp, []):
        Alex Ovsienko . unresolved

        The default is redundant, either get by [] or remove defaultdict(list)

        Line 288, Patchset 4 (Latest): for filepath in all_py_files:
        deps = direct_deps[filepath]
        transitive_deps = get_transitive_deps(filepath, direct_deps)

        if output_json:
        cu = build_compilation_unit_json(filepath, transitive_deps, project_root,
        corpus)
        all_units.append(cu)

        # Dump to JSON format as CompilationUnit Proto
        if output_json:
        units_dict_list = [
        json_format.MessageToDict(cu, preserving_proto_field_name=True)
        for cu in all_units
        ]
        os.makedirs(os.path.dirname(os.path.abspath(output_json)), exist_ok=True)
        with open(output_json, 'w', encoding='utf-8') as f:
        json.dump(units_dict_list, f, indent=2)
        Alex Ovsienko . unresolved

        Isn't this entire block moot if output_json is empty? Maybe early quit instead?

        Line 325, Patchset 4 (Latest): output_json = os.path.abspath(args.output_json) if args.output_json else None
        Alex Ovsienko . unresolved

        Maybe empty string instead of optional? Your choice though.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Marc Jin
        Submit Requirements:
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: infra/infra
        Gerrit-Branch: main
        Gerrit-Change-Id: I7bf8c62ec9e1cb246d1be7e7102f5d9689e27431
        Gerrit-Change-Number: 8063567
        Gerrit-PatchSet: 4
        Gerrit-Owner: Marc Jin <jm...@google.com>
        Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
        Gerrit-Attention: Marc Jin <jm...@google.com>
        Gerrit-Comment-Date: Wed, 08 Jul 2026 07:16:44 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        unsatisfied_requirement
        open
        diffy

        Marc Jin (Gerrit)

        unread,
        3:38 AM (6 hours ago) 3:38 AM
        to Alex Ovsienko, chromium...@chromium.org, infra-rev...@chromium.org
        Attention needed from Alex Ovsienko

        Marc Jin added 7 comments

        File recipes/recipe_modules/codesearch/resources/kythe/python_extractor.py
        Line 20, Patchset 2:def build_compilation_unit_json(target, deps, project_root, corpus):
        Alex Ovsienko . resolved

        As it's a new file, let's have proper documenattion and type hints.

        Marc Jin

        Done

        Alex Ovsienko

        Yeah but I also meant like `target: str, deps: list[str] and such. Gemini should figure those out.`

        Marc Jin

        Done

        Line 101, Patchset 4: target_corpus = 'python_stdlib'
        Alex Ovsienko . resolved

        Maybe make this default above everything, and do the same with rel_path = abs_path.lstrip(os.sep)?

        Marc Jin

        I updated this, but I think the default should be the if-case

        Line 197, Patchset 4: return filename.endswith('.py')
        Alex Ovsienko . resolved

        I would disagree, I can point at plenty of executable pythons that don't have .py in the end. Will we support them later?

        Marc Jin

        Does the current shebang check way look better?

        Line 223, Patchset 4: external_search_dirs = [

        d for d in sys.path
        if d and os.path.isdir(d) and not d.startswith(root_dir)
        ]
        Alex Ovsienko . resolved

        I like lambdas but this one is a bit too much. Maybe use filter instead?

        Marc Jin

        Using filter() is also using lambda functions...

          external_search_dirs = list(
        filter(
        lambda d: d and os.path.isdir(d) and not d.startswith(root_dir),
        sys.path))

        This doesn't look much different?
        Line 255, Patchset 4: for candidate in repo_files_by_name.get(last_comp, []):
        Alex Ovsienko . resolved

        The default is redundant, either get by [] or remove defaultdict(list)

        Marc Jin

        Good catch thank you!

        Line 288, Patchset 4: for filepath in all_py_files:

        deps = direct_deps[filepath]
        transitive_deps = get_transitive_deps(filepath, direct_deps)

        if output_json:
        cu = build_compilation_unit_json(filepath, transitive_deps, project_root,
        corpus)
        all_units.append(cu)

        # Dump to JSON format as CompilationUnit Proto
        if output_json:
        units_dict_list = [
        json_format.MessageToDict(cu, preserving_proto_field_name=True)
        for cu in all_units
        ]
        os.makedirs(os.path.dirname(os.path.abspath(output_json)), exist_ok=True)
        with open(output_json, 'w', encoding='utf-8') as f:
        json.dump(units_dict_list, f, indent=2)
        Alex Ovsienko . resolved

        Isn't this entire block moot if output_json is empty? Maybe early quit instead?

        Marc Jin

        after a 2nd thought I think we should enforce output_json path otherwise this extractor is totally useless

        Line 325, Patchset 4: output_json = os.path.abspath(args.output_json) if args.output_json else None
        Alex Ovsienko . resolved

        Maybe empty string instead of optional? Your choice though.

        Marc Jin

        N/A

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Alex Ovsienko
        Submit Requirements:
          • requirement is not satisfiedCode-Owners
          • requirement is not satisfiedCode-Review
          • requirement is not satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: infra/infra
          Gerrit-Branch: main
          Gerrit-Change-Id: I7bf8c62ec9e1cb246d1be7e7102f5d9689e27431
          Gerrit-Change-Number: 8063567
          Gerrit-PatchSet: 5
          Gerrit-Owner: Marc Jin <jm...@google.com>
          Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
          Gerrit-Attention: Alex Ovsienko <ovsi...@google.com>
          Gerrit-Comment-Date: Wed, 08 Jul 2026 07:38:07 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          unsatisfied_requirement
          open
          diffy

          Alex Ovsienko (Gerrit)

          unread,
          3:40 AM (6 hours ago) 3:40 AM
          to Marc Jin, chromium...@chromium.org, infra-rev...@chromium.org
          Attention needed from Marc Jin

          Alex Ovsienko added 2 comments

          File recipes/recipe_modules/codesearch/resources/kythe/python_extractor.py
          Line 197, Patchset 4: return filename.endswith('.py')
          Alex Ovsienko . resolved

          I would disagree, I can point at plenty of executable pythons that don't have .py in the end. Will we support them later?

          Marc Jin

          Does the current shebang check way look better?

          Alex Ovsienko

          Yep, check depot_tools's yapf as an example. However .py would likely not add shebang, so you need to check for both

          Line 223, Patchset 4: external_search_dirs = [
          d for d in sys.path
          if d and os.path.isdir(d) and not d.startswith(root_dir)
          ]
          Alex Ovsienko . resolved

          I like lambdas but this one is a bit too much. Maybe use filter instead?

          Marc Jin

          Using filter() is also using lambda functions...

            external_search_dirs = list(
          filter(
          lambda d: d and os.path.isdir(d) and not d.startswith(root_dir),
          sys.path))

          This doesn't look much different?
          Alex Ovsienko

          Then I guess just loop over sys.path?

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Marc Jin
          Submit Requirements:
          • requirement is not satisfiedCode-Owners
          • requirement is not satisfiedCode-Review
          • requirement is not satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: infra/infra
          Gerrit-Branch: main
          Gerrit-Change-Id: I7bf8c62ec9e1cb246d1be7e7102f5d9689e27431
          Gerrit-Change-Number: 8063567
          Gerrit-PatchSet: 5
          Gerrit-Owner: Marc Jin <jm...@google.com>
          Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
          Gerrit-Attention: Marc Jin <jm...@google.com>
          Gerrit-Comment-Date: Wed, 08 Jul 2026 07:40:36 +0000
          unsatisfied_requirement
          open
          diffy

          Alex Ovsienko (Gerrit)

          unread,
          3:44 AM (6 hours ago) 3:44 AM
          to Marc Jin, chromium...@chromium.org, infra-rev...@chromium.org
          Attention needed from Marc Jin

          Alex Ovsienko added 1 comment

          File recipes/recipe_modules/codesearch/resources/kythe/python_extractor.py
          Line 223, Patchset 4: external_search_dirs = [
          d for d in sys.path
          if d and os.path.isdir(d) and not d.startswith(root_dir)
          ]
          Alex Ovsienko . resolved

          I like lambdas but this one is a bit too much. Maybe use filter instead?

          Marc Jin

          Using filter() is also using lambda functions...

            external_search_dirs = list(
          filter(
          lambda d: d and os.path.isdir(d) and not d.startswith(root_dir),
          sys.path))

          This doesn't look much different?
          Alex Ovsienko

          Then I guess just loop over sys.path?

          Alex Ovsienko

          Actually nevermind, it's fine as is in the end.

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Marc Jin
          Submit Requirements:
          • requirement is not satisfiedCode-Owners
          • requirement is not satisfiedCode-Review
          • requirement is not satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: infra/infra
          Gerrit-Branch: main
          Gerrit-Change-Id: I7bf8c62ec9e1cb246d1be7e7102f5d9689e27431
          Gerrit-Change-Number: 8063567
          Gerrit-PatchSet: 5
          Gerrit-Owner: Marc Jin <jm...@google.com>
          Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
          Gerrit-Attention: Marc Jin <jm...@google.com>
          Gerrit-Comment-Date: Wed, 08 Jul 2026 07:44:26 +0000
          unsatisfied_requirement
          open
          diffy

          Marc Jin (Gerrit)

          unread,
          3:55 AM (6 hours ago) 3:55 AM
          to Fumitoshi Ukai, Gavin Mak, Alex Ovsienko, chromium...@chromium.org, infra-rev...@chromium.org
          Attention needed from Fumitoshi Ukai and Gavin Mak

          Marc Jin added 1 comment

          Patchset-level comments
          File-level comment, Patchset 5 (Latest):
          Marc Jin . resolved

          Adding owners

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Fumitoshi Ukai
          • Gavin Mak
          Submit Requirements:
          • requirement is not satisfiedCode-Owners
          • requirement is not satisfiedCode-Review
          • requirement is not satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: infra/infra
          Gerrit-Branch: main
          Gerrit-Change-Id: I7bf8c62ec9e1cb246d1be7e7102f5d9689e27431
          Gerrit-Change-Number: 8063567
          Gerrit-PatchSet: 5
          Gerrit-Owner: Marc Jin <jm...@google.com>
          Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
          Gerrit-Reviewer: Fumitoshi Ukai <uk...@google.com>
          Gerrit-Reviewer: Gavin Mak <gavi...@google.com>
          Gerrit-Attention: Gavin Mak <gavi...@google.com>
          Gerrit-Attention: Fumitoshi Ukai <uk...@google.com>
          Gerrit-Comment-Date: Wed, 08 Jul 2026 07:55:39 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          unsatisfied_requirement
          open
          diffy

          Alex Ovsienko (Gerrit)

          unread,
          3:56 AM (6 hours ago) 3:56 AM
          to Marc Jin, Fumitoshi Ukai, Gavin Mak, chromium...@chromium.org, infra-rev...@chromium.org
          Attention needed from Fumitoshi Ukai, Gavin Mak and Marc Jin

          Alex Ovsienko voted Code-Review+1

          Code-Review+1
          Open in Gerrit

          Related details

          Attention is currently required from:
          • Fumitoshi Ukai
          • Gavin Mak
          • Marc Jin
          Submit Requirements:
            • requirement is not satisfiedCode-Owners
            • requirement satisfiedCode-Review
            • requirement satisfiedReview-Enforcement
            Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
            Gerrit-MessageType: comment
            Gerrit-Project: infra/infra
            Gerrit-Branch: main
            Gerrit-Change-Id: I7bf8c62ec9e1cb246d1be7e7102f5d9689e27431
            Gerrit-Change-Number: 8063567
            Gerrit-PatchSet: 5
            Gerrit-Owner: Marc Jin <jm...@google.com>
            Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
            Gerrit-Reviewer: Fumitoshi Ukai <uk...@google.com>
            Gerrit-Reviewer: Gavin Mak <gavi...@google.com>
            Gerrit-Attention: Gavin Mak <gavi...@google.com>
            Gerrit-Attention: Fumitoshi Ukai <uk...@google.com>
            Gerrit-Attention: Marc Jin <jm...@google.com>
            Gerrit-Comment-Date: Wed, 08 Jul 2026 07:56:26 +0000
            Gerrit-HasComments: No
            Gerrit-Has-Labels: Yes
            unsatisfied_requirement
            satisfied_requirement
            open
            diffy
            Reply all
            Reply to author
            Forward
            0 new messages