api: sdk: Add unpin_sdk flag to Update

With pinned SDKs, we want to skip SDK update under all scenarios
except:

1. The toolchain was changed, and therefore we need to test a new
   toolchain.
2. We've specifically been asked to build SDK packages from source.
3. The builder is configured as a "SDK next" builder, in that, we want
   to continue to update_chroot on this builder to ensure new changes
   won't break the SDK builder.

This adds a flag which handles scenario #3.  The Build API logic on
the branch can then decide with these flags whether an update should
actually be conducted or not.

BUG=b:323085827
TEST=regen

Change-Id: I6616bc0955d3d605d92317bcebdc57a7731ccde9
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra/proto/+/5448163
Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Lee Presland <zland@google.com>
Auto-Submit: Jack Rosenthal <jrosenth@chromium.org>
3 files changed
tree: e637a393f30af0fc21274ccb85066ce6b8c74d72
  1. bin/
  2. extern/
  3. gen/
  4. go/
  5. infra/
  6. recipes/
  7. src/
  8. .gitattributes
  9. .gitignore
  10. buf.yaml
  11. generate.sh
  12. LICENSE
  13. OWNERS
  14. OWNERS.tse
  15. PRESUBMIT.cfg
  16. PRESUBMIT.py
  17. README.md
  18. setup_cipd.sh
  19. unblocked_terms.txt
README.md

infra/proto

infra/proto vs chromite/infra/proto

This repository exists in two locations in the tree: infra/proto, and chromite/infra/proto. The infra/proto repository is always at ToT, while the chromite/infra/proto checkout is branched to allow the proto there to (more) accurately reflect the version of the proto the Build API is using.

When making changes to the proto that you need to test in the Build API, you will need ensure the changes are applied to the chromite/infra/proto checkout. Chromite generates its proto bindings from the chromite/infra/proto repo.