daml/buf-kvutils.yaml

40 lines
1.3 KiB
YAML
Raw Normal View History

# Copyright (c) 2021 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
version: v1beta1
build:
roots:
Check protobuf compatibility of `main` and PR commits w.r.t. previous stable release [KVL-1109] (#10950) * Check protobuf compatibility of release commits w.r.t. previous stable release CHANGELOG_BEGIN CHANGELOG_END * Remove blank line * Don't persist credentials Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com> * check-protobuf-against-stable.sh: SRC_DIR -> PROJECT ROOT + simplify * Don't set LATEST_STABLE global in a function * Simplify by using only the main work tree * Simplify further as the check will be only run from `main` * Move the check to `ci/build.yml` so that it is also run on PRs * Enter the development environment to use tools * Make variables read-only * Support release branches and PRs targeting them * Fix and document the reference tag finding logic * Fix SYSTEM_PULLREQUEST_TARGETBRANCH and print it * Don't log the source branch * Fix comment formatting Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com> * Enable Slack integration Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com> * Don't check if the branch is a release one ...as the check won't be run on release branches. * Add compatibility_stable_protobuf to collect_build_data * Do not activate dev-env globally but only in sub-shells * Add an explanation about why the check is not run on release branch commits * Simplify further by leveraging `buf`'s ability to compare against branches * Use `buf`'s `tag` locator instead of `branch` * Split buf checks by module and remove previous manual check * Explain how to run locally * Use more future-proof WIRE_JSON for participant-integration-api Co-authored-by: Simon Meier <meiersi-da@users.noreply.github.com> * Use stricter FILE for the ledger gRPC API * Propose an explanation for WIRE in kvutils * Fix comment typo * Re-introduce linting configuration for kvutils * Simplify explanation for KVUtils' breaking check rule * Remove extra (C) header from 3rd-party proto * Don't touch the copyright of google/rpc/status.proto Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com> Co-authored-by: Simon Meier <meiersi-da@users.noreply.github.com>
2021-09-23 18:50:33 +03:00
- daml-lf/archive/src/main/protobuf
- daml-lf/transaction/src/main/protobuf
- ledger/ledger-configuration/protobuf
- ledger/participant-state/kvutils/src/main/protobuf
lint:
use:
- DEFAULT
except:
- PACKAGE_VERSION_SUFFIX
breaking:
use:
Check protobuf compatibility of `main` and PR commits w.r.t. previous stable release [KVL-1109] (#10950) * Check protobuf compatibility of release commits w.r.t. previous stable release CHANGELOG_BEGIN CHANGELOG_END * Remove blank line * Don't persist credentials Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com> * check-protobuf-against-stable.sh: SRC_DIR -> PROJECT ROOT + simplify * Don't set LATEST_STABLE global in a function * Simplify by using only the main work tree * Simplify further as the check will be only run from `main` * Move the check to `ci/build.yml` so that it is also run on PRs * Enter the development environment to use tools * Make variables read-only * Support release branches and PRs targeting them * Fix and document the reference tag finding logic * Fix SYSTEM_PULLREQUEST_TARGETBRANCH and print it * Don't log the source branch * Fix comment formatting Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com> * Enable Slack integration Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com> * Don't check if the branch is a release one ...as the check won't be run on release branches. * Add compatibility_stable_protobuf to collect_build_data * Do not activate dev-env globally but only in sub-shells * Add an explanation about why the check is not run on release branch commits * Simplify further by leveraging `buf`'s ability to compare against branches * Use `buf`'s `tag` locator instead of `branch` * Split buf checks by module and remove previous manual check * Explain how to run locally * Use more future-proof WIRE_JSON for participant-integration-api Co-authored-by: Simon Meier <meiersi-da@users.noreply.github.com> * Use stricter FILE for the ledger gRPC API * Propose an explanation for WIRE in kvutils * Fix comment typo * Re-introduce linting configuration for kvutils * Simplify explanation for KVUtils' breaking check rule * Remove extra (C) header from 3rd-party proto * Don't touch the copyright of google/rpc/status.proto Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com> Co-authored-by: Simon Meier <meiersi-da@users.noreply.github.com>
2021-09-23 18:50:33 +03:00
# WIRE is enough here as KVUtils only needs to be able to read data persisted
# by previous versions of the code.
- WIRE
except:
# Moving an individual field into a new `one_of` retains binary backwards
# compatibility.
- FIELD_SAME_ONEOF
# `daml_kvutils.proto` file was split into multiple files with different packages during the `v1.18.0` release
# Changing the proto package for a message retains binary backwards compatibility but
# buf treats the message as a new type for existing fields
# This exception will be removed once the latest stable tag contains the updated field types
- FIELD_SAME_TYPE
ignore:
# Changes in daml_lf_1.proto do not impact KV, as it never parses archive
# payload directly
- com/daml/daml_lf_dev/daml_lf_1.proto
# Stability in transaction/value is checked independently
- com/daml/lf/transaction.proto
- com/daml/lf/value.proto