-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathbuf.yaml
More file actions
47 lines (47 loc) · 2.13 KB
/
Copy pathbuf.yaml
File metadata and controls
47 lines (47 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
version: v2
modules:
- path: .
deps:
- buf.build/googleapis/googleapis
lint:
use:
- STANDARD
except:
# AIP-131/134/164: Get, Update, and Delete all return the resource itself
# (Delete is a soft delete that returns the tombstone), so one response
# message is shared across methods and none match buf's "<Method>Response"
# naming default. Google's own APIs do the same.
- RPC_RESPONSE_STANDARD_NAME
- RPC_REQUEST_RESPONSE_UNIQUE
breaking:
use:
- FILE
- WIRE
# WIRE catches field-number renumbering and field-type changes on the wire.
# FILE catches deleted files and moved definitions.
#
# Promotion path — services, and individual RPCs, graduate independently via
# the version segment, not by splitting into separate packages. The version IS
# the package, so a stable version package carries only what is ready (down to
# individual methods), while the alpha version package carries a copy of
# everything stable PLUS whatever is still in flux. Everything stays under the
# one cambeerfestival.festival.* namespace.
#
# Step 1 — graduate the catalogue first:
# - create cambeerfestival.festival.v1 containing the catalogue only
# (festival.proto, drink.proto, catalog_service.proto), with HTTP paths
# rebound to /v1/...
# - keep cambeerfestival.festival.v1alpha carrying a COPY of the catalogue
# plus the still-alpha MyFestivalService, so alpha clients still see the
# whole surface in one version.
# Step 2 — graduate my-festival when it stabilises:
# - add MyFestivalService (and DrinkEntry/DrinkSummary) to the next stable
# version package, then retire it from alpha.
#
# ignore_unstable_packages is true: alpha/beta packages are free to churn
# (rename, move, restructure) without tripping breaking checks while the API
# is still being shaped — only stable (v1+) packages are guarded. When the
# first stable (v1) package lands, switch breaking.use to WIRE_JSON (superset
# of WIRE; also checks JSON field-name stability); the frozen v1 is then
# guarded while alpha stays exempt.
ignore_unstable_packages: true