release-please 14.8.0 → 14.10.0
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 +22 -0
- package/build/src/bin/release-please.d.ts +2 -42
- package/build/src/bin/release-please.js +47 -3
- package/build/src/bootstrapper.d.ts +6 -0
- package/build/src/bootstrapper.js +14 -10
- package/build/src/manifest.d.ts +6 -1
- package/build/src/manifest.js +19 -15
- package/build/src/plugins/linked-versions.d.ts +3 -3
- package/build/src/strategies/base.d.ts +4 -0
- package/build/src/strategies/base.js +6 -1
- package/build/src/strategies/java.js +1 -1
- package/build/src/strategies/php-yoshi.js +1 -1
- package/build/src/updaters/release-please-manifest.js +2 -0
- package/package.json +1 -1
- package/schemas/config.json +15 -6
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,28 @@
|
|
|
4
4
|
|
|
5
5
|
[1]: https://www.npmjs.com/package/release-please?activeTab=versions
|
|
6
6
|
|
|
7
|
+
## [14.10.0](https://github.com/googleapis/release-please/compare/v14.9.0...v14.10.0) (2022-09-30)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* Add ability to set extra labels on components ([#1669](https://github.com/googleapis/release-please/issues/1669)) ([e05d43e](https://github.com/googleapis/release-please/commit/e05d43e0e9eb35ea7d9b47d7e0b13effc4c1422a)), closes [#1624](https://github.com/googleapis/release-please/issues/1624)
|
|
13
|
+
* **cli:** Add debug command for loading a manifest config ([#1671](https://github.com/googleapis/release-please/issues/1671)) ([98078a3](https://github.com/googleapis/release-please/commit/98078a3d3fab0eeaf456fbcbe1827dc0185d0424))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
* **cli:** bootstrap command respects --dry-run argument ([67fcb19](https://github.com/googleapis/release-please/commit/67fcb19cf3a7334092c08b65ae7b2c83b16db5d6))
|
|
19
|
+
* fix schema definition for label and release-label ([e05d43e](https://github.com/googleapis/release-please/commit/e05d43e0e9eb35ea7d9b47d7e0b13effc4c1422a))
|
|
20
|
+
* Manifest config bootstrapper should include schema field ([#1670](https://github.com/googleapis/release-please/issues/1670)) ([67fcb19](https://github.com/googleapis/release-please/commit/67fcb19cf3a7334092c08b65ae7b2c83b16db5d6))
|
|
21
|
+
|
|
22
|
+
## [14.9.0](https://github.com/googleapis/release-please/compare/v14.8.0...v14.9.0) (2022-09-30)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
* Add initial version to base strategy ([#1665](https://github.com/googleapis/release-please/issues/1665)) ([c867403](https://github.com/googleapis/release-please/commit/c867403e50cacbb88ddf545b2c0888f2c500edcc))
|
|
28
|
+
|
|
7
29
|
## [14.8.0](https://github.com/googleapis/release-please/compare/v14.7.2...v14.8.0) (2022-09-28)
|
|
8
30
|
|
|
9
31
|
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import * as yargs from 'yargs';
|
|
3
|
-
import { ChangelogSection } from '../changelog-notes';
|
|
4
|
-
import { ReleaseType, VersioningStrategyType } from '../factory';
|
|
5
3
|
interface ErrorObject {
|
|
6
4
|
body?: object;
|
|
7
5
|
status?: number;
|
|
@@ -23,47 +21,9 @@ interface ManifestArgs {
|
|
|
23
21
|
configFile?: string;
|
|
24
22
|
manifestFile?: string;
|
|
25
23
|
}
|
|
26
|
-
interface
|
|
27
|
-
bumpMinorPreMajor?: boolean;
|
|
28
|
-
bumpPatchForMinorPreMajor?: boolean;
|
|
29
|
-
releaseAs?: string;
|
|
30
|
-
lastPackageVersion?: string;
|
|
31
|
-
latestTagVersion?: string;
|
|
32
|
-
latestTagSha?: string;
|
|
33
|
-
latestTagName?: string;
|
|
24
|
+
interface DebugConfigArgs extends GitHubArgs, ManifestArgs {
|
|
34
25
|
}
|
|
35
|
-
|
|
36
|
-
path?: string;
|
|
37
|
-
component?: string;
|
|
38
|
-
packageName?: string;
|
|
39
|
-
releaseType?: ReleaseType;
|
|
40
|
-
}
|
|
41
|
-
interface ReleaseArgs {
|
|
42
|
-
draft?: boolean;
|
|
43
|
-
prerelease?: boolean;
|
|
44
|
-
releaseLabel?: string;
|
|
45
|
-
snapshotLabel?: string;
|
|
46
|
-
label?: string;
|
|
47
|
-
}
|
|
48
|
-
interface PullRequestArgs {
|
|
49
|
-
draftPullRequest?: boolean;
|
|
50
|
-
label?: string;
|
|
51
|
-
skipLabeling?: boolean;
|
|
52
|
-
signoff?: string;
|
|
53
|
-
}
|
|
54
|
-
interface PullRequestStrategyArgs {
|
|
55
|
-
snapshot?: boolean;
|
|
56
|
-
changelogSections?: ChangelogSection[];
|
|
57
|
-
changelogPath?: string;
|
|
58
|
-
changelogHost?: string;
|
|
59
|
-
versioningStrategy?: VersioningStrategyType;
|
|
60
|
-
versionFile?: string;
|
|
61
|
-
extraFiles?: string[];
|
|
62
|
-
}
|
|
63
|
-
interface BootstrapArgs extends GitHubArgs, ManifestArgs, ManifestConfigArgs, VersioningArgs, PullRequestArgs, PullRequestStrategyArgs, ReleaseArgs {
|
|
64
|
-
initialVersion?: string;
|
|
65
|
-
}
|
|
66
|
-
export declare const parser: yargs.Argv<yargs.Omit<BootstrapArgs & {
|
|
26
|
+
export declare const parser: yargs.Argv<yargs.Omit<DebugConfigArgs & {
|
|
67
27
|
debug: boolean;
|
|
68
28
|
}, "trace"> & {
|
|
69
29
|
trace: boolean;
|
|
@@ -472,7 +472,7 @@ const bootstrapCommand = {
|
|
|
472
472
|
github.repository.defaultBranch;
|
|
473
473
|
const bootstrapper = new bootstrapper_1.Bootstrapper(github, targetBranch, argv.manifestFile, argv.configFile, argv.initialVersion);
|
|
474
474
|
const path = argv.path || manifest_1.ROOT_PROJECT_PATH;
|
|
475
|
-
const
|
|
475
|
+
const releaserConfig = {
|
|
476
476
|
releaseType: argv.releaseType,
|
|
477
477
|
component: argv.component,
|
|
478
478
|
packageName: argv.packageName,
|
|
@@ -488,8 +488,51 @@ const bootstrapCommand = {
|
|
|
488
488
|
versioning: argv.versioningStrategy,
|
|
489
489
|
extraFiles: argv.extraFiles,
|
|
490
490
|
versionFile: argv.versionFile,
|
|
491
|
-
}
|
|
492
|
-
|
|
491
|
+
};
|
|
492
|
+
if (argv.dryRun) {
|
|
493
|
+
const pullRequest = await await bootstrapper.buildPullRequest(path, releaserConfig);
|
|
494
|
+
console.log('Would open 1 pull request');
|
|
495
|
+
console.log('title:', pullRequest.title);
|
|
496
|
+
console.log('branch:', pullRequest.headBranchName);
|
|
497
|
+
console.log('body:', pullRequest.body);
|
|
498
|
+
console.log('updates:', pullRequest.updates.length);
|
|
499
|
+
const changes = await github.buildChangeSet(pullRequest.updates, targetBranch);
|
|
500
|
+
for (const update of pullRequest.updates) {
|
|
501
|
+
console.log(` ${update.path}: `,
|
|
502
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
503
|
+
update.updater.constructor);
|
|
504
|
+
if (argv.trace) {
|
|
505
|
+
const change = changes.get(update.path);
|
|
506
|
+
if (change) {
|
|
507
|
+
const patch = (0, diff_1.createPatch)(update.path, change.originalContent || '', change.content || '');
|
|
508
|
+
console.log(patch);
|
|
509
|
+
}
|
|
510
|
+
else {
|
|
511
|
+
console.warn(`no change found for ${update.path}`);
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
else {
|
|
517
|
+
const pullRequest = await bootstrapper.bootstrap(path, releaserConfig);
|
|
518
|
+
console.log(pullRequest);
|
|
519
|
+
}
|
|
520
|
+
},
|
|
521
|
+
};
|
|
522
|
+
const debugConfigCommand = {
|
|
523
|
+
command: 'debug-config',
|
|
524
|
+
describe: 'debug manifest config',
|
|
525
|
+
builder(yargs) {
|
|
526
|
+
return manifestConfigOptions(manifestOptions(gitHubOptions(yargs)));
|
|
527
|
+
},
|
|
528
|
+
async handler(argv) {
|
|
529
|
+
const github = await buildGitHub(argv);
|
|
530
|
+
const manifestOptions = extractManifestOptions(argv);
|
|
531
|
+
const targetBranch = argv.targetBranch ||
|
|
532
|
+
argv.defaultBranch ||
|
|
533
|
+
github.repository.defaultBranch;
|
|
534
|
+
const manifest = await manifest_1.Manifest.fromManifest(github, targetBranch, argv.configFile, argv.manifestFile, manifestOptions);
|
|
535
|
+
console.log(manifest);
|
|
493
536
|
},
|
|
494
537
|
};
|
|
495
538
|
async function buildGitHub(argv) {
|
|
@@ -509,6 +552,7 @@ exports.parser = yargs
|
|
|
509
552
|
.command(createManifestPullRequestCommand)
|
|
510
553
|
.command(createManifestReleaseCommand)
|
|
511
554
|
.command(bootstrapCommand)
|
|
555
|
+
.command(debugConfigCommand)
|
|
512
556
|
.option('debug', {
|
|
513
557
|
describe: 'print verbose errors (use only for local debugging).',
|
|
514
558
|
default: false,
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { GitHub } from './github';
|
|
2
2
|
import { ReleaserConfig } from './manifest';
|
|
3
3
|
import { PullRequest } from './pull-request';
|
|
4
|
+
import { Update } from './update';
|
|
5
|
+
interface BootstrapPullRequest extends PullRequest {
|
|
6
|
+
updates: Update[];
|
|
7
|
+
}
|
|
4
8
|
export declare class Bootstrapper {
|
|
5
9
|
private github;
|
|
6
10
|
private targetBranch;
|
|
@@ -9,4 +13,6 @@ export declare class Bootstrapper {
|
|
|
9
13
|
private initialVersion;
|
|
10
14
|
constructor(github: GitHub, targetBranch: string, manifestFile?: string, configFile?: string, initialVersionString?: string);
|
|
11
15
|
bootstrap(path: string, config: ReleaserConfig): Promise<PullRequest>;
|
|
16
|
+
buildPullRequest(path: string, config: ReleaserConfig): Promise<BootstrapPullRequest>;
|
|
12
17
|
}
|
|
18
|
+
export {};
|
|
@@ -27,17 +27,12 @@ class Bootstrapper {
|
|
|
27
27
|
this.initialVersion = version_1.Version.parse(initialVersionString);
|
|
28
28
|
}
|
|
29
29
|
async bootstrap(path, config) {
|
|
30
|
+
const pullRequest = await this.buildPullRequest(path, config);
|
|
31
|
+
return await this.github.createPullRequest(pullRequest, this.targetBranch, pullRequest.title, pullRequest.updates, {});
|
|
32
|
+
}
|
|
33
|
+
async buildPullRequest(path, config) {
|
|
30
34
|
const message = `chore: bootstrap releases for path: ${path}`;
|
|
31
35
|
const branchName = path === manifest_1.ROOT_PROJECT_PATH ? 'default' : path;
|
|
32
|
-
const pullRequest = {
|
|
33
|
-
headBranchName: `release-please/bootstrap/${branchName}`,
|
|
34
|
-
baseBranchName: this.targetBranch,
|
|
35
|
-
number: -1,
|
|
36
|
-
title: message,
|
|
37
|
-
body: `Configuring release-please for path: ${path}`,
|
|
38
|
-
labels: [],
|
|
39
|
-
files: [],
|
|
40
|
-
};
|
|
41
36
|
const version = this.initialVersion;
|
|
42
37
|
const versionsMap = new Map();
|
|
43
38
|
versionsMap.set(path, version);
|
|
@@ -53,7 +48,16 @@ class Bootstrapper {
|
|
|
53
48
|
updater: new release_please_config_1.ReleasePleaseConfig(path, config),
|
|
54
49
|
},
|
|
55
50
|
];
|
|
56
|
-
return
|
|
51
|
+
return {
|
|
52
|
+
title: message,
|
|
53
|
+
body: `Configuring release-please for path: ${path}`,
|
|
54
|
+
baseBranchName: this.targetBranch,
|
|
55
|
+
headBranchName: `release-please/bootstrap/${branchName}`,
|
|
56
|
+
updates,
|
|
57
|
+
number: -1,
|
|
58
|
+
labels: [],
|
|
59
|
+
files: [],
|
|
60
|
+
};
|
|
57
61
|
}
|
|
58
62
|
}
|
|
59
63
|
exports.Bootstrapper = Bootstrapper;
|
package/build/src/manifest.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { Logger } from './util/logger';
|
|
|
6
6
|
import { ReleasePullRequest } from './release-pull-request';
|
|
7
7
|
import { ReleaseType, VersioningStrategyType, ChangelogNotesType } from './factory';
|
|
8
8
|
import { Release } from './release';
|
|
9
|
+
import { ManifestPlugin } from './plugin';
|
|
9
10
|
declare type ExtraJsonFile = {
|
|
10
11
|
type: 'json';
|
|
11
12
|
path: string;
|
|
@@ -53,6 +54,8 @@ export interface ReleaserConfig {
|
|
|
53
54
|
separatePullRequests?: boolean;
|
|
54
55
|
labels?: string[];
|
|
55
56
|
releaseLabels?: string[];
|
|
57
|
+
extraLabels?: string[];
|
|
58
|
+
initialVersion?: string;
|
|
56
59
|
changelogSections?: ChangelogSection[];
|
|
57
60
|
changelogPath?: string;
|
|
58
61
|
changelogType?: ChangelogNotesType;
|
|
@@ -86,6 +89,7 @@ interface ReleaserConfigJson {
|
|
|
86
89
|
'draft-pull-request'?: boolean;
|
|
87
90
|
label?: string;
|
|
88
91
|
'release-label'?: string;
|
|
92
|
+
'extra-label'?: string;
|
|
89
93
|
'include-component-in-tag'?: boolean;
|
|
90
94
|
'include-v-in-tag'?: boolean;
|
|
91
95
|
'changelog-type'?: ChangelogNotesType;
|
|
@@ -98,6 +102,7 @@ interface ReleaserConfigJson {
|
|
|
98
102
|
'version-file'?: string;
|
|
99
103
|
'snapshot-label'?: string;
|
|
100
104
|
'skip-snapshot'?: boolean;
|
|
105
|
+
'initial-version'?: string;
|
|
101
106
|
}
|
|
102
107
|
export interface ManifestOptions {
|
|
103
108
|
bootstrapSha?: string;
|
|
@@ -192,7 +197,7 @@ export declare class Manifest {
|
|
|
192
197
|
private sequentialCalls?;
|
|
193
198
|
private releaseLabels;
|
|
194
199
|
private snapshotLabels;
|
|
195
|
-
|
|
200
|
+
readonly plugins: ManifestPlugin[];
|
|
196
201
|
private _strategiesByPath?;
|
|
197
202
|
private _pathsByComponent?;
|
|
198
203
|
private manifestPath;
|
package/build/src/manifest.js
CHANGED
|
@@ -73,7 +73,6 @@ class Manifest {
|
|
|
73
73
|
(manifestOptions === null || manifestOptions === void 0 ? void 0 : manifestOptions.manifestPath) || exports.DEFAULT_RELEASE_PLEASE_MANIFEST;
|
|
74
74
|
this.separatePullRequests =
|
|
75
75
|
(_a = manifestOptions === null || manifestOptions === void 0 ? void 0 : manifestOptions.separatePullRequests) !== null && _a !== void 0 ? _a : Object.keys(repositoryConfig).length === 1;
|
|
76
|
-
this.plugins = (manifestOptions === null || manifestOptions === void 0 ? void 0 : manifestOptions.plugins) || [];
|
|
77
76
|
this.fork = (manifestOptions === null || manifestOptions === void 0 ? void 0 : manifestOptions.fork) || false;
|
|
78
77
|
this.signoffUser = manifestOptions === null || manifestOptions === void 0 ? void 0 : manifestOptions.signoff;
|
|
79
78
|
this.releaseLabels =
|
|
@@ -94,6 +93,13 @@ class Manifest {
|
|
|
94
93
|
this.commitSearchDepth =
|
|
95
94
|
(manifestOptions === null || manifestOptions === void 0 ? void 0 : manifestOptions.commitSearchDepth) || DEFAULT_COMMIT_SEARCH_DEPTH;
|
|
96
95
|
this.logger = (_b = manifestOptions === null || manifestOptions === void 0 ? void 0 : manifestOptions.logger) !== null && _b !== void 0 ? _b : logger_1.logger;
|
|
96
|
+
this.plugins = ((manifestOptions === null || manifestOptions === void 0 ? void 0 : manifestOptions.plugins) || []).map(pluginType => (0, factory_1.buildPlugin)({
|
|
97
|
+
type: pluginType,
|
|
98
|
+
github: this.github,
|
|
99
|
+
targetBranch: this.targetBranch,
|
|
100
|
+
repositoryConfig: this.repositoryConfig,
|
|
101
|
+
manifestPath: this.manifestPath,
|
|
102
|
+
}));
|
|
97
103
|
}
|
|
98
104
|
/**
|
|
99
105
|
* Create a Manifest from config files in the repository.
|
|
@@ -311,16 +317,8 @@ class Manifest {
|
|
|
311
317
|
};
|
|
312
318
|
}
|
|
313
319
|
}
|
|
314
|
-
// Build plugins
|
|
315
|
-
const plugins = this.plugins.map(pluginType => (0, factory_1.buildPlugin)({
|
|
316
|
-
type: pluginType,
|
|
317
|
-
github: this.github,
|
|
318
|
-
targetBranch: this.targetBranch,
|
|
319
|
-
repositoryConfig: this.repositoryConfig,
|
|
320
|
-
manifestPath: this.manifestPath,
|
|
321
|
-
}));
|
|
322
320
|
let strategies = strategiesByPath;
|
|
323
|
-
for (const plugin of plugins) {
|
|
321
|
+
for (const plugin of this.plugins) {
|
|
324
322
|
strategies = await plugin.preconfigure(strategies, commitsPerPath, releasesByPath);
|
|
325
323
|
}
|
|
326
324
|
let newReleasePullRequests = [];
|
|
@@ -333,7 +331,7 @@ class Manifest {
|
|
|
333
331
|
// The processCommits hook can be implemented by plugins to
|
|
334
332
|
// post-process commits. This can be used to perform cleanup, e.g,, sentence
|
|
335
333
|
// casing all commit messages:
|
|
336
|
-
for (const plugin of plugins) {
|
|
334
|
+
for (const plugin of this.plugins) {
|
|
337
335
|
pathCommits = plugin.processCommits(pathCommits);
|
|
338
336
|
}
|
|
339
337
|
this.logger.debug(`commits: ${pathCommits.length}`);
|
|
@@ -369,9 +367,9 @@ class Manifest {
|
|
|
369
367
|
// Combine pull requests into 1 unless configured for separate
|
|
370
368
|
// pull requests
|
|
371
369
|
if (!this.separatePullRequests) {
|
|
372
|
-
plugins.push(new merge_1.Merge(this.github, this.targetBranch, this.repositoryConfig, this.groupPullRequestTitlePattern));
|
|
370
|
+
this.plugins.push(new merge_1.Merge(this.github, this.targetBranch, this.repositoryConfig, this.groupPullRequestTitlePattern));
|
|
373
371
|
}
|
|
374
|
-
for (const plugin of plugins) {
|
|
372
|
+
for (const plugin of this.plugins) {
|
|
375
373
|
this.logger.debug(`running plugin: ${plugin.constructor.name}`);
|
|
376
374
|
newReleasePullRequests = await plugin.run(newReleasePullRequests);
|
|
377
375
|
}
|
|
@@ -715,7 +713,7 @@ exports.Manifest = Manifest;
|
|
|
715
713
|
* @returns {ReleaserConfig}
|
|
716
714
|
*/
|
|
717
715
|
function extractReleaserConfig(config) {
|
|
718
|
-
var _a, _b;
|
|
716
|
+
var _a, _b, _c;
|
|
719
717
|
return {
|
|
720
718
|
releaseType: config['release-type'],
|
|
721
719
|
bumpMinorPreMajor: config['bump-minor-pre-major'],
|
|
@@ -742,7 +740,9 @@ function extractReleaserConfig(config) {
|
|
|
742
740
|
separatePullRequests: config['separate-pull-requests'],
|
|
743
741
|
labels: (_a = config['label']) === null || _a === void 0 ? void 0 : _a.split(','),
|
|
744
742
|
releaseLabels: (_b = config['release-label']) === null || _b === void 0 ? void 0 : _b.split(','),
|
|
743
|
+
extraLabels: (_c = config['extra-label']) === null || _c === void 0 ? void 0 : _c.split(','),
|
|
745
744
|
skipSnapshot: config['skip-snapshot'],
|
|
745
|
+
initialVersion: config['initial-version'],
|
|
746
746
|
};
|
|
747
747
|
}
|
|
748
748
|
/**
|
|
@@ -770,6 +770,7 @@ async function parseConfig(github, configFile, branch, onlyPath, releaseAs) {
|
|
|
770
770
|
const configLabel = config['label'];
|
|
771
771
|
const configReleaseLabel = config['release-label'];
|
|
772
772
|
const configSnapshotLabel = config['snapshot-label'];
|
|
773
|
+
const configExtraLabel = config['extra-label'];
|
|
773
774
|
const manifestOptions = {
|
|
774
775
|
bootstrapSha: config['bootstrap-sha'],
|
|
775
776
|
lastReleaseSha: config['last-release-sha'],
|
|
@@ -780,6 +781,7 @@ async function parseConfig(github, configFile, branch, onlyPath, releaseAs) {
|
|
|
780
781
|
labels: configLabel === null || configLabel === void 0 ? void 0 : configLabel.split(','),
|
|
781
782
|
releaseLabels: configReleaseLabel === null || configReleaseLabel === void 0 ? void 0 : configReleaseLabel.split(','),
|
|
782
783
|
snapshotLabels: configSnapshotLabel === null || configSnapshotLabel === void 0 ? void 0 : configSnapshotLabel.split(','),
|
|
784
|
+
extraLabels: configExtraLabel === null || configExtraLabel === void 0 ? void 0 : configExtraLabel.split(','),
|
|
783
785
|
releaseSearchDepth: config['release-search-depth'],
|
|
784
786
|
commitSearchDepth: config['commit-search-depth'],
|
|
785
787
|
sequentialCalls: config['sequential-calls'],
|
|
@@ -949,7 +951,7 @@ async function latestReleaseVersion(github, targetBranch, releaseFilter, config,
|
|
|
949
951
|
return candidateTagVersion.sort((a, b) => b.compare(a))[0];
|
|
950
952
|
}
|
|
951
953
|
function mergeReleaserConfig(defaultConfig, pathConfig) {
|
|
952
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
|
|
954
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
|
|
953
955
|
return {
|
|
954
956
|
releaseType: (_b = (_a = pathConfig.releaseType) !== null && _a !== void 0 ? _a : defaultConfig.releaseType) !== null && _b !== void 0 ? _b : 'node',
|
|
955
957
|
bumpMinorPreMajor: (_c = pathConfig.bumpMinorPreMajor) !== null && _c !== void 0 ? _c : defaultConfig.bumpMinorPreMajor,
|
|
@@ -974,6 +976,8 @@ function mergeReleaserConfig(defaultConfig, pathConfig) {
|
|
|
974
976
|
pullRequestHeader: (_x = pathConfig.pullRequestHeader) !== null && _x !== void 0 ? _x : defaultConfig.pullRequestHeader,
|
|
975
977
|
separatePullRequests: (_y = pathConfig.separatePullRequests) !== null && _y !== void 0 ? _y : defaultConfig.separatePullRequests,
|
|
976
978
|
skipSnapshot: (_z = pathConfig.skipSnapshot) !== null && _z !== void 0 ? _z : defaultConfig.skipSnapshot,
|
|
979
|
+
initialVersion: (_0 = pathConfig.initialVersion) !== null && _0 !== void 0 ? _0 : defaultConfig.initialVersion,
|
|
980
|
+
extraLabels: (_1 = pathConfig.extraLabels) !== null && _1 !== void 0 ? _1 : defaultConfig.extraLabels,
|
|
977
981
|
};
|
|
978
982
|
}
|
|
979
983
|
/**
|
|
@@ -16,9 +16,9 @@ interface LinkedVersionsPluginOptions {
|
|
|
16
16
|
* Release notes are broken up using `<summary>`/`<details>` blocks.
|
|
17
17
|
*/
|
|
18
18
|
export declare class LinkedVersions extends ManifestPlugin {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
readonly groupName: string;
|
|
20
|
+
readonly components: Set<string>;
|
|
21
|
+
readonly merge: boolean;
|
|
22
22
|
constructor(github: GitHub, targetBranch: string, repositoryConfig: RepositoryConfig, groupName: string, components: string[], options?: LinkedVersionsPluginOptions);
|
|
23
23
|
/**
|
|
24
24
|
* Pre-configure strategies.
|
|
@@ -47,6 +47,8 @@ export interface BaseStrategyOptions {
|
|
|
47
47
|
snapshotLabels?: string[];
|
|
48
48
|
skipSnapshot?: boolean;
|
|
49
49
|
logger?: Logger;
|
|
50
|
+
initialVersion?: string;
|
|
51
|
+
extraLabels?: string[];
|
|
50
52
|
}
|
|
51
53
|
/**
|
|
52
54
|
* A strategy is responsible for determining which files are
|
|
@@ -68,9 +70,11 @@ export declare abstract class BaseStrategy implements Strategy {
|
|
|
68
70
|
private releaseAs?;
|
|
69
71
|
protected includeComponentInTag: boolean;
|
|
70
72
|
protected includeVInTag: boolean;
|
|
73
|
+
protected initialVersion?: string;
|
|
71
74
|
readonly pullRequestTitlePattern?: string;
|
|
72
75
|
readonly pullRequestHeader?: string;
|
|
73
76
|
readonly extraFiles: ExtraFile[];
|
|
77
|
+
readonly extraLabels: string[];
|
|
74
78
|
readonly changelogNotes: ChangelogNotes;
|
|
75
79
|
protected changelogSections?: ChangelogSection[];
|
|
76
80
|
constructor(options: BaseStrategyOptions);
|
|
@@ -62,6 +62,8 @@ class BaseStrategy {
|
|
|
62
62
|
this.pullRequestTitlePattern = options.pullRequestTitlePattern;
|
|
63
63
|
this.pullRequestHeader = options.pullRequestHeader;
|
|
64
64
|
this.extraFiles = options.extraFiles || [];
|
|
65
|
+
this.initialVersion = options.initialVersion;
|
|
66
|
+
this.extraLabels = options.extraLabels || [];
|
|
65
67
|
}
|
|
66
68
|
/**
|
|
67
69
|
* Return the component for this strategy. This may be a computed field.
|
|
@@ -171,7 +173,7 @@ class BaseStrategy {
|
|
|
171
173
|
title: pullRequestTitle,
|
|
172
174
|
body: pullRequestBody,
|
|
173
175
|
updates: updatesWithExtras,
|
|
174
|
-
labels,
|
|
176
|
+
labels: [...labels, ...this.extraLabels],
|
|
175
177
|
headRefName: branchName.toString(),
|
|
176
178
|
version: newVersion,
|
|
177
179
|
draft: draft !== null && draft !== void 0 ? draft : false,
|
|
@@ -368,6 +370,9 @@ class BaseStrategy {
|
|
|
368
370
|
* Override this to handle the initial version of a new library.
|
|
369
371
|
*/
|
|
370
372
|
initialReleaseVersion() {
|
|
373
|
+
if (this.initialVersion) {
|
|
374
|
+
return version_1.Version.parse(this.initialVersion);
|
|
375
|
+
}
|
|
371
376
|
return version_1.Version.parse('1.0.0');
|
|
372
377
|
}
|
|
373
378
|
/**
|
|
@@ -99,7 +99,7 @@ class Java extends base_1.BaseStrategy {
|
|
|
99
99
|
title: pullRequestTitle,
|
|
100
100
|
body: pullRequestBody,
|
|
101
101
|
updates: updatesWithExtras,
|
|
102
|
-
labels: labels,
|
|
102
|
+
labels: [...labels, ...this.extraLabels],
|
|
103
103
|
headRefName: branchName.toString(),
|
|
104
104
|
version: newVersion,
|
|
105
105
|
draft: draft !== null && draft !== void 0 ? draft : false,
|
|
@@ -147,7 +147,7 @@ class PHPYoshi extends base_1.BaseStrategy {
|
|
|
147
147
|
title: pullRequestTitle,
|
|
148
148
|
body: pullRequestBody,
|
|
149
149
|
updates,
|
|
150
|
-
labels,
|
|
150
|
+
labels: [...labels, ...this.extraLabels],
|
|
151
151
|
headRefName: branchName.toString(),
|
|
152
152
|
version: newVersion,
|
|
153
153
|
draft: draft !== null && draft !== void 0 ? draft : false,
|
|
@@ -16,12 +16,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
16
16
|
exports.ReleasePleaseManifest = void 0;
|
|
17
17
|
const json_stringify_1 = require("../util/json-stringify");
|
|
18
18
|
const default_1 = require("./default");
|
|
19
|
+
const SCHEMA_URL = 'https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json;';
|
|
19
20
|
class ReleasePleaseManifest extends default_1.DefaultUpdater {
|
|
20
21
|
updateContent(content) {
|
|
21
22
|
const parsed = content ? JSON.parse(content) : {};
|
|
22
23
|
for (const [path, version] of this.versionsMap) {
|
|
23
24
|
parsed[path] = version.toString();
|
|
24
25
|
}
|
|
26
|
+
parsed['$schema'] = SCHEMA_URL;
|
|
25
27
|
if (content) {
|
|
26
28
|
return (0, json_stringify_1.jsonStringify)(parsed, content);
|
|
27
29
|
}
|
package/package.json
CHANGED
package/schemas/config.json
CHANGED
|
@@ -66,12 +66,8 @@
|
|
|
66
66
|
"description": "Open the release pull request in draft mode. Defaults to `false`.",
|
|
67
67
|
"type": "boolean"
|
|
68
68
|
},
|
|
69
|
-
"label": {
|
|
70
|
-
"description": "Comma-separated list of labels to add to newly opened pull request",
|
|
71
|
-
"type": "string"
|
|
72
|
-
},
|
|
73
|
-
"release-label": {
|
|
74
|
-
"description": "Comma-separated list of labels to add to a pull request that has been released/tagged",
|
|
69
|
+
"extra-label": {
|
|
70
|
+
"description": "Comma-separated list of labels to add to a newly opened pull request",
|
|
75
71
|
"type": "string"
|
|
76
72
|
},
|
|
77
73
|
"include-component-in-tag": {
|
|
@@ -199,6 +195,10 @@
|
|
|
199
195
|
"skip-snapshot": {
|
|
200
196
|
"description": "If set, do not propose snapshot pull requests. Used by `java` strategies.",
|
|
201
197
|
"type": "boolean"
|
|
198
|
+
},
|
|
199
|
+
"initial-version": {
|
|
200
|
+
"description": "Releases the initial library with a specified version",
|
|
201
|
+
"type": "string"
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
204
|
}
|
|
@@ -341,6 +341,14 @@
|
|
|
341
341
|
"sequential-calls": {
|
|
342
342
|
"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.",
|
|
343
343
|
"type": "boolean"
|
|
344
|
+
},
|
|
345
|
+
"label": {
|
|
346
|
+
"description": "Comma-separated list of labels to add to newly opened pull request. These are used to identify release pull requests.",
|
|
347
|
+
"type": "string"
|
|
348
|
+
},
|
|
349
|
+
"release-label": {
|
|
350
|
+
"description": "Comma-separated list of labels to add to a pull request that has been released/tagged",
|
|
351
|
+
"type": "string"
|
|
344
352
|
}
|
|
345
353
|
},
|
|
346
354
|
"required": ["packages"]
|
|
@@ -369,6 +377,7 @@
|
|
|
369
377
|
"draft-pull-request": true,
|
|
370
378
|
"label": true,
|
|
371
379
|
"release-label": true,
|
|
380
|
+
"extra-label": true,
|
|
372
381
|
"include-component-in-tag": true,
|
|
373
382
|
"include-v-in-tag": true,
|
|
374
383
|
"changelog-type": true,
|