release-please 13.18.7 → 13.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,27 @@
4
4
 
5
5
  [1]: https://www.npmjs.com/package/release-please?activeTab=versions
6
6
 
7
+ ## [13.19.2](https://github.com/googleapis/release-please/compare/v13.19.1...v13.19.2) (2022-07-06)
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * move schemas to their own directory and add to dist ([#1512](https://github.com/googleapis/release-please/issues/1512)) ([b7fb4ad](https://github.com/googleapis/release-please/commit/b7fb4ad6182a050a2c2a8376b4dd84d105b83438)), closes [#1511](https://github.com/googleapis/release-please/issues/1511)
13
+
14
+ ## [13.19.1](https://github.com/googleapis/release-please/compare/v13.19.0...v13.19.1) (2022-07-06)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * fix file tree listing for extremely large repositories ([#1505](https://github.com/googleapis/release-please/issues/1505)) ([b6ea25e](https://github.com/googleapis/release-please/commit/b6ea25ef34720b16697f598d957604530908e195))
20
+
21
+ ## [13.19.0](https://github.com/googleapis/release-please/compare/v13.18.7...v13.19.0) (2022-06-30)
22
+
23
+
24
+ ### Features
25
+
26
+ * add manifest schemas ([#1496](https://github.com/googleapis/release-please/issues/1496)) ([adf84ad](https://github.com/googleapis/release-please/commit/adf84ad3ebb8723ebc0e1232cd899c323c36cbfc))
27
+
7
28
  ## [13.18.7](https://github.com/googleapis/release-please/compare/v13.18.6...v13.18.7) (2022-06-30)
8
29
 
9
30
 
package/README.md CHANGED
@@ -29,12 +29,12 @@ When the Release PR is merged, release-please takes the following steps:
29
29
  2. Tags the commit with the version number
30
30
  3. Creates a GitHub Release based on the tag
31
31
 
32
- You can tell where the Release PR is its lifecycle by the status label on the
32
+ You can tell where the Release PR is in its lifecycle by the status label on the
33
33
  PR itself:
34
34
 
35
35
  - `autorelease: pending` is the initial state of the Release PR before it is merged
36
36
  - `autorelease: tagged` means that the Release PR has been merged and the release has been tagged in GitHub
37
- - `autorelease: snapshot` is special state for snapshot version bumps
37
+ - `autorelease: snapshot` is a special state for snapshot version bumps
38
38
  - `autorelease: published` means that a GitHub release has been published based on the Release PR (_release-please does not automatically add this tag, but we recommend it as a convention for publication tooling_).
39
39
 
40
40
  ## How should I write my commits?
@@ -80,7 +80,7 @@ The above commit message will contain:
80
80
 
81
81
  ## How do I change the version number?
82
82
 
83
- When a commit to the main branch has `Release-As: x.x.x`(case insensitive) in the **commit body**, Release Please will open a new pull request for the specified version.
83
+ When a commit to the main branch has `Release-As: x.x.x` (case insensitive) in the **commit body**, Release Please will open a new pull request for the specified version.
84
84
 
85
85
  **Empty commit example:**
86
86
 
@@ -94,7 +94,7 @@ Release-As: 2.0.0
94
94
 
95
95
  ## How can I fix release notes?
96
96
 
97
- If you have merged a pull request and you would like to amend the commit message
97
+ If you have merged a pull request and would like to amend the commit message
98
98
  used to generate the release notes for that commit, you can edit the body of
99
99
  the merged pull requests and add a section like:
100
100
 
@@ -107,12 +107,12 @@ chore: a third message
107
107
  END_COMMIT_OVERRIDE
108
108
  ```
109
109
 
110
- The next time release please runs, it will use that override section as the
110
+ The next time Release Please runs, it will use that override section as the
111
111
  commit message instead of the merged commit message.
112
112
 
113
113
  ## Release Please bot does not create a release PR. Why?
114
114
 
115
- Release Please creates a release pull request after it sees the default branch
115
+ Release Please creates a release pull request after it notices the default branch
116
116
  contains "releasable units" since the last release.
117
117
  A releasable unit is a commit to the branch with one of the following
118
118
  prefixes: "feat" and "fix". (A "chore" commit is not a releasable unit.)
@@ -148,7 +148,7 @@ There are a variety of ways you can deploy release-please:
148
148
 
149
149
  ### GitHub Action (recommended)
150
150
 
151
- The easiest way to run release please is as a GitHub action. Please see [google-github-actions/release-please-action](https://github.com/google-github-actions/release-please-action) for installation and configuration instructions.
151
+ The easiest way to run Release Please is as a GitHub action. Please see [google-github-actions/release-please-action](https://github.com/google-github-actions/release-please-action) for installation and configuration instructions.
152
152
 
153
153
  ### Running as CLI
154
154
 
@@ -206,12 +206,6 @@ This library follows [Semantic Versioning](http://semver.org/).
206
206
 
207
207
  Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/release-please/blob/main/CONTRIBUTING.md).
208
208
 
209
- Please note that this `README.md`, the `samples/README.md`,
210
- and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`)
211
- are generated from a central template. To edit one of these files, make an edit
212
- to its template in this
213
- [directory](https://github.com/googleapis/synthtool/tree/main/synthtool/gcp/templates/node_library).
214
-
215
209
  ## License
216
210
 
217
211
  Apache Version 2.0
@@ -9,3 +9,5 @@ export { VersioningStrategyBuilder, VersioningStrategyFactoryOptions, Versioning
9
9
  export { BuildNotesOptions, ChangelogNotes, ChangelogSection, } from './changelog-notes';
10
10
  export { Logger, setLogger } from './util/logger';
11
11
  export { GitHub } from './github';
12
+ export declare const configSchema: any;
13
+ export declare const manifestSchema: any;
@@ -13,7 +13,7 @@
13
13
  // See the License for the specific language governing permissions and
14
14
  // limitations under the License.
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.GitHub = exports.setLogger = exports.registerVersioningStrategy = exports.getVersioningStrategyTypes = exports.registerPlugin = exports.getPluginTypes = exports.registerChangelogNotes = exports.getChangelogTypes = exports.registerReleaseType = exports.getReleaserTypes = exports.Manifest = exports.Errors = void 0;
16
+ exports.manifestSchema = exports.configSchema = exports.GitHub = exports.setLogger = exports.registerVersioningStrategy = exports.getVersioningStrategyTypes = exports.registerPlugin = exports.getPluginTypes = exports.registerChangelogNotes = exports.getChangelogTypes = exports.registerReleaseType = exports.getReleaserTypes = exports.Manifest = exports.Errors = void 0;
17
17
  exports.Errors = require("./errors");
18
18
  var manifest_1 = require("./manifest");
19
19
  Object.defineProperty(exports, "Manifest", { enumerable: true, get: function () { return manifest_1.Manifest; } });
@@ -33,4 +33,6 @@ var logger_1 = require("./util/logger");
33
33
  Object.defineProperty(exports, "setLogger", { enumerable: true, get: function () { return logger_1.setLogger; } });
34
34
  var github_1 = require("./github");
35
35
  Object.defineProperty(exports, "GitHub", { enumerable: true, get: function () { return github_1.GitHub; } });
36
+ exports.configSchema = require('../../schemas/config.json');
37
+ exports.manifestSchema = require('../../schemas/manifest.json');
36
38
  //# sourceMappingURL=index.js.map
@@ -173,12 +173,14 @@ class BranchFileCache {
173
173
  * @returns {TreeEntry[]} The tree entries
174
174
  */
175
175
  async fetchTree(sha) {
176
- const { data: { tree }, } = await this.octokit.git.getTree({
176
+ const { data: { tree, truncated }, } = await this.octokit.git.getTree({
177
177
  owner: this.repository.owner,
178
178
  repo: this.repository.repo,
179
179
  tree_sha: sha,
180
- recursive: 'false',
181
180
  });
181
+ if (truncated) {
182
+ logger_1.logger.warn(`file list for tree sha ${sha} is truncated`);
183
+ }
182
184
  return tree;
183
185
  }
184
186
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-please",
3
- "version": "13.18.7",
3
+ "version": "13.19.2",
4
4
  "description": "generate release PRs based on the conventionalcommits.org spec",
5
5
  "main": "./build/src/index.js",
6
6
  "bin": "./build/src/bin/release-please.js",
@@ -18,7 +18,8 @@
18
18
  "files": [
19
19
  "build/src",
20
20
  "templates",
21
- "!build/src/**/*.map"
21
+ "!build/src/**/*.map",
22
+ "schemas"
22
23
  ],
23
24
  "repository": "googleapis/release-please",
24
25
  "keywords": [
@@ -54,6 +55,7 @@
54
55
  "@types/sinon": "^10.0.0",
55
56
  "@types/xmldom": "^0.1.31",
56
57
  "@types/yargs": "^17.0.0",
58
+ "ajv": "^8.11.0",
57
59
  "c8": "^7.0.0",
58
60
  "chai": "^4.2.0",
59
61
  "cross-env": "^7.0.0",
@@ -0,0 +1,300 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "release-please manifest config schema",
4
+ "description": "Schema for defining manifest config file",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "definitions": {
8
+ "ReleaserConfigOptions": {
9
+ "type": "object",
10
+ "properties": {
11
+ "release-type": {
12
+ "description": "The strategy to use for this component.",
13
+ "type": "string"
14
+ },
15
+ "bump-minor-pre-major": {
16
+ "description": "Breaking changes only bump semver minor if version < 1.0.0",
17
+ "type": "boolean"
18
+ },
19
+ "bump-patch-for-minor-pre-major": {
20
+ "description": "Feature changes only bump semver patch if version < 1.0.0",
21
+ "type": "boolean"
22
+ },
23
+ "changelog-sections": {
24
+ "description": "Override the Changelog configuration sections",
25
+ "type": "array",
26
+ "items": {
27
+ "type": "object",
28
+ "properties": {
29
+ "type": {
30
+ "description": "Semantic commit type (e.g. `feat`, `chore`)",
31
+ "type": "string"
32
+ },
33
+ "section": {
34
+ "description": "Changelog section title",
35
+ "type": "string"
36
+ },
37
+ "hidden": {
38
+ "description": "Skip displaying this type of commit. Defaults to `false`.",
39
+ "type": "boolean"
40
+ }
41
+ },
42
+ "required": ["type", "section"]
43
+ }
44
+ },
45
+ "release-as": {
46
+ "description": "[DEPRECATED] Override the next version of this package. Consider using a `Release-As` commit instead.",
47
+ "type": "string"
48
+ },
49
+ "skip-github-release": {
50
+ "description": "Skip tagging GitHub releases for this package. Defaults to `false`.",
51
+ "type": "boolean"
52
+ },
53
+ "draft": {
54
+ "description": "Create the GitHub release in draft mode. Defaults to `false`.",
55
+ "type": "boolean"
56
+ },
57
+ "prerelease": {
58
+ "description": "Create the GitHub release as prerelease. Defaults to `false`.",
59
+ "type": "boolean"
60
+ },
61
+ "draft-pull-request": {
62
+ "description": "Open the release pull request in draft mode. Defaults to `false`.",
63
+ "type": "boolean"
64
+ },
65
+ "label": {
66
+ "description": "Comma-separated list of labels to add to newly opened pull request",
67
+ "type": "string"
68
+ },
69
+ "release-label": {
70
+ "description": "Comma-separated list of labels to add to a pull request that has been released/tagged",
71
+ "type": "string"
72
+ },
73
+ "include-component-in-tag": {
74
+ "description": "When tagging a release, include the component name as part of the tag. Defaults to `true`.",
75
+ "type": "boolean"
76
+ },
77
+ "include-v-in-tag": {
78
+ "description": "When tagging a release, include `v` in the tag. Defaults to `false`.",
79
+ "type": "boolean"
80
+ },
81
+ "changelog-type": {
82
+ "description": "The type of changelog to use. Defaults to `default`.",
83
+ "type": "string",
84
+ "enum": ["default", "github"]
85
+ },
86
+ "changelog-host": {
87
+ "description": "Generate changelog links to this GitHub host. Useful for running against GitHub Enterprise.",
88
+ "type": "string"
89
+ },
90
+ "pull-request-title-pattern": {
91
+ "description": "Customize the release pull request title.",
92
+ "type": "string"
93
+ },
94
+ "separate-pull-requests": {
95
+ "description": "Open a separate release pull request for each component. Defaults to `false`.",
96
+ "type": "boolean"
97
+ },
98
+ "tag-separator": {
99
+ "description": "Customize the separator between the component and version in the GitHub tag.",
100
+ "type": "string"
101
+ },
102
+ "extra-files": {
103
+ "description": "Specify extra generic files to replace versions.",
104
+ "type": "array",
105
+ "items": {
106
+ "anyOf": [
107
+ {
108
+ "description": "The path to the file. The `Generic` updater uses annotations to replace versions.",
109
+ "type": "string"
110
+ },
111
+ {
112
+ "description": "An extra JSON on YAML file with a targeted update via jsonpath.",
113
+ "type": "object",
114
+ "properties": {
115
+ "type": {
116
+ "description": "The file format type.",
117
+ "enum": ["json", "yaml"]
118
+ },
119
+ "path": {
120
+ "description": "The path to the file.",
121
+ "type": "string"
122
+ },
123
+ "jsonpath": {
124
+ "description": "The jsonpath to the version entry in the file.",
125
+ "type": "string"
126
+ }
127
+ },
128
+ "required": ["type", "path", "jsonpath"]
129
+ },
130
+ {
131
+ "description": "An extra XML file with a targeted update via xpath.",
132
+ "type": "object",
133
+ "properties": {
134
+ "type": {
135
+ "description": "The file format type.",
136
+ "enum": ["xml"]
137
+ },
138
+ "path": {
139
+ "description": "The path to the file.",
140
+ "type": "string"
141
+ },
142
+ "xpath": {
143
+ "description": "The xpath to the version entry in the file.",
144
+ "type": "string"
145
+ }
146
+ },
147
+ "required": ["type", "path", "xpath"]
148
+ },
149
+ {
150
+ "description": "An extra pom.xml file.",
151
+ "type": "object",
152
+ "properties": {
153
+ "type": {
154
+ "description": "The file format type.",
155
+ "enum": ["pom"]
156
+ },
157
+ "path": {
158
+ "description": "The path to the file.",
159
+ "type": "string"
160
+ }
161
+ },
162
+ "required": ["type", "path"]
163
+ }
164
+ ]
165
+ }
166
+ },
167
+ "version-file": {
168
+ "description": "Path to the specialize version file. Used by `ruby` and `simple` strategies.",
169
+ "type": "string"
170
+ },
171
+ "snapshot-label": {
172
+ "description": "Label to add to snapshot pull request. Used by `java` strategies.",
173
+ "type": "string"
174
+ }
175
+ }
176
+ }
177
+ },
178
+ "allOf": [
179
+ {
180
+ "$ref": "#/definitions/ReleaserConfigOptions"
181
+ },
182
+ {
183
+ "properties": {
184
+ "packages": {
185
+ "description": "Per-path component configuration.",
186
+ "type": "object",
187
+ "additionalProperties": {
188
+ "$ref": "#/definitions/ReleaserConfigOptions"
189
+ }
190
+ },
191
+ "bootstrap-sha": {
192
+ "description": "For the initial release of a library, only consider as far back as this commit SHA. This is an uncommon use case and should generally be avoided.",
193
+ "type": "string"
194
+ },
195
+ "last-release-sha": {
196
+ "description": "For any release, only consider as far back as this commit SHA. This is an uncommon use case and should generally be avoided.",
197
+ "type": "string"
198
+ },
199
+ "always-link-local": {
200
+ "description": "When using the `node-workspace` plugin, force all local dependencies to be linked.",
201
+ "type": "boolean"
202
+ },
203
+ "plugins": {
204
+ "description": "Plugins to apply to pull requests. Plugins can be added to perform extra release processing that cannot be achieved by an individual release strategy.",
205
+ "type": "array",
206
+ "items": {
207
+ "anyOf": [
208
+ {
209
+ "description": "The plugin name for plugins that do not require other options.",
210
+ "type": "string"
211
+ },
212
+ {
213
+ "description": "Configuration for the `linked-versions` plugin.",
214
+ "type": "object",
215
+ "properties": {
216
+ "type": {
217
+ "description": "The name of the plugin.",
218
+ "type": "string",
219
+ "enum": ["linked-versions"]
220
+ },
221
+ "groupName": {
222
+ "description": "The name of the group of components.",
223
+ "type": "string"
224
+ },
225
+ "components": {
226
+ "description": "List of component names that are part of this group.",
227
+ "type": "array",
228
+ "items": {
229
+ "type": "string"
230
+ }
231
+ }
232
+ },
233
+ "required": ["type", "groupName", "components"]
234
+ },
235
+ {
236
+ "description": "Other plugins",
237
+ "type": "object",
238
+ "properties": {
239
+ "type": {
240
+ "description": "The name of the plugin.",
241
+ "type": "string"
242
+ }
243
+ }
244
+ }
245
+ ]
246
+ }
247
+ },
248
+ "group-pull-request-title-pattern": {
249
+ "description": "When grouping multiple release pull requests use this pattern for the title.",
250
+ "type": "string"
251
+ },
252
+ "release-search-depth": {
253
+ "description": "When considering previously releases, only look this deep.",
254
+ "type": "number"
255
+ },
256
+ "commit-search-depth": {
257
+ "description": "When considering commit history, only look this many commits deep.",
258
+ "type": "number"
259
+ },
260
+ "sequential-calls": {
261
+ "description": "Whether to open pull requests/releases sequentially rather than concurrently. If you have many components, you may want to set this to avoid secondary rate limits.",
262
+ "type": "boolean"
263
+ }
264
+ },
265
+ "required": ["packages"]
266
+ }
267
+ ],
268
+ "properties": {
269
+ "packages": true,
270
+ "bootstrap-sha": true,
271
+ "last-release-sha": true,
272
+ "always-link-local": true,
273
+ "plugins": true,
274
+ "group-pull-request-title-pattern": true,
275
+ "release-search-depth": true,
276
+ "commit-search-depth": true,
277
+ "sequential-calls": true,
278
+ "release-type": true,
279
+ "bump-minor-pre-major": true,
280
+ "bump-patch-for-minor-pre-major": true,
281
+ "changelog-sections": true,
282
+ "release-as": true,
283
+ "skip-github-release": true,
284
+ "draft": true,
285
+ "prerelease": true,
286
+ "draft-pull-request": true,
287
+ "label": true,
288
+ "release-label": true,
289
+ "include-component-in-tag": true,
290
+ "include-v-in-tag": true,
291
+ "changelog-type": true,
292
+ "changelog-host": true,
293
+ "pull-request-title-pattern": true,
294
+ "separate-pull-requests": true,
295
+ "tag-separator": true,
296
+ "extra-files": true,
297
+ "version-file": true,
298
+ "snapshot-label": true
299
+ }
300
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "release-please manifest config versions",
4
+ "description": "Schema for defining manifest versions file",
5
+ "type": "object",
6
+ "additionalProperties": {
7
+ "type": "string"
8
+ }
9
+ }