James E. Blair e522c47aa4 Store BuildSet.dependent_changes as change refs
When we set the configuration of a buildset, we collect all of
the dependent changes and serialize them so the relevant change
inforamtion is encoded in the buildset object.

We do this because changes at the head of the pipeline might
merge while we are processing and we still want to include them.

The change.toDict method includes the change's commit message.
In the case of a very large commit message, or a large number of
dependent changes with moderately sized commit messages, we can
exceed the 1MB zk limit.

To address this, store the dpendent changes list as a list of
cache key refs and then resolve those changes at the time that we
launch a job.

Change-Id: I3de7f11d6cd5d66eb383f4b962613a1d54365660
2024-06-07 20:40:03 -07:00

18 lines
708 B

# Copyright 2022 Acme Gating, LLC
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
# When making ZK schema changes, increment this and add a record to
# doc/source/developer/model-changelog.rst