Documentation

Overview

    Package gobmap finds relevant LUCI project config given a Gerrit CL.

    gobmap constructs the map based on LUCI project's ConfigGroups, and supports efficiently updating the map whenever Project configs change.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func Lookup

    func Lookup(ctx context.Context, host, repo, ref string) (*changelist.ApplicableConfig, error)

      Lookup returns config group IDs which watch the given combination of Gerrit host, repo and ref.

      For example: the input might be ("chromium-review.googlesource.com", "chromium/src", "refs/heads/main"), and the output might be 0 or 1 or multiple IDs which can be used to fetch config groups.

      Due to the ref_regexp[_exclude] options, CV can't ensure that each possible combination is watched by at most one ConfigGroup, which is why this may return multiple ConfigGroupIDs even for the same LUCI project.

      func Update

      func Update(ctx context.Context, project string) error

        Update loads the new config and updates the gob map entities accordingly.

        This may include adding, removing and modifying entities.

        TODO(qyearsley): Handle possible race condition; There may be 2 or more concurrent Update calls, which could lead to corrupted data.

        Types

        This section is empty.

        Source Files