-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.release-plz.toml
More file actions
132 lines (105 loc) · 3.57 KB
/
.release-plz.toml
File metadata and controls
132 lines (105 loc) · 3.57 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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# release-plz configuration for automated releases
# See: https://release-plz.ieni.dev/docs/config
[workspace]
# Enable automatic changelog updates from Conventional Commits
# Do not publish to crates.io (project-specific decision)
publish = false
# This repository releases from git tags instead of the cargo registry.
git_only = true
# Treat feature work on 0.x as a minor release, matching repo policy.
features_always_increment_minor = true
# During high-churn development, only feature commits should open release PRs.
release_commits = "^feat[(:]"
# Only release when the manual release PR is merged, not on every commit to main.
release_always = false
# Disable per-package releases - we want a single workspace release.
git_release_enable = false
pr_name = "chore: release{% if version %} v{{ version }}{% endif %}"
pr_body = """
{% macro changelog_details(releases) %}
{%- for release in releases %}
{%- if release.title and release.changelog %}
{% if releases | length > 1 %}## `{{ release.package }}`{% endif %}
<blockquote>
## {{ release.title }}
{{ release.changelog }}
</blockquote>
{% endif %}
{%- endfor %}
{% endmacro %}
{% set changes = self::changelog_details(releases=releases) %}
## Code release
This PR bumps the Rust workspace package version for the code-release track. All synchronized workspace crates move together, including implementation crates whose names begin with `citum-schema`.
{% for release in releases %}
* `{{ release.package }}`: {% if release.previous_version and release.previous_version != release.next_version %}{{ release.previous_version }} -> {% endif %}{{ release.next_version }}{% if release.semver_check == "incompatible" %} (⚠ API breaking changes){% elif release.semver_check == "compatible" %} (✓ API compatible changes){% endif %}
{% endfor %}
Schema versioning is validated in normal PRs and is not mutated by this workflow. Any `STYLE_SCHEMA_VERSION` or `docs/schemas/*` changes must already be committed before opening this release PR.
{% if changes %}
<details><summary><i><b>Changelog</b></i></summary><p>
{{ changes }}
</p></details>
{% endif %}
---
This PR was generated with [release-plz](https://github.com/release-plz/release-plz/).
"""
# Track all workspace crates in one synchronized release group so
# dependency-crate features still trigger the top-level citum release PR.
[[package]]
name = "csl-legacy"
version_group = "workspace"
[[package]]
name = "citum-schema-data"
version_group = "workspace"
[[package]]
name = "citum-schema-style"
version_group = "workspace"
[[package]]
name = "citum-schema"
version_group = "workspace"
[[package]]
name = "citum-migrate"
version_group = "workspace"
[[package]]
name = "citum-engine"
version_group = "workspace"
[[package]]
name = "citum-analyze"
version_group = "workspace"
[[package]]
name = "citum-pdf"
version_group = "workspace"
[[package]]
name = "citum-server"
version_group = "workspace"
[[package]]
name = "citum-edtf"
version_group = "workspace"
[[package]]
name = "citum_store"
version_group = "workspace"
[[package]]
name = "citum-bindings"
version_group = "workspace"
# Create the root changelog and release tag from the main CLI package.
[[package]]
name = "citum"
version_group = "workspace"
changelog_update = true
changelog_path = "CHANGELOG.md"
changelog_include = [
"csl-legacy",
"citum-schema-data",
"citum-schema-style",
"citum-schema",
"citum-migrate",
"citum-engine",
"citum-analyze",
"citum-pdf",
"citum-server",
"citum-edtf",
"citum_store",
"citum-bindings",
]
git_release_enable = true
git_tag_enable = true
git_tag_name = "v{{ version }}"