Skip to content

Commit 05899b1

Browse files
committed
Push latest corrections to maintenance scripts
1 parent af81278 commit 05899b1

File tree

2 files changed

+32
-28
lines changed

2 files changed

+32
-28
lines changed

.maintenance/src/Contrib_List_Command.php

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,18 +47,16 @@ public function __invoke( $_, $assoc_args ) {
4747

4848
// Identify all command dependencies and their contributors
4949

50-
// TODO: Bundle repo needs to be switched to `wp-cli/wp-cli-bundle` for next release.
51-
$bundle = 'wp-cli/wp-cli';
50+
$bundle = 'wp-cli/wp-cli-bundle';
5251

53-
$milestones = GitHub::get_project_milestones( 'wp-cli/wp-cli', array( 'state' => 'closed' ) );
54-
// Cheap way to get the latest closed milestone
55-
$milestone = array_shift( $milestones );
56-
$tag = is_object( $milestone ) ? "v{$milestone->title}" : 'master';
57-
58-
// TODO: Only needed for switch from v1 to v2.
59-
if ( 'wp-cli/wp-cli' === $bundle ) {
60-
$tag = 'v1.5.1';
61-
}
52+
$milestones = GitHub::get_project_milestones( $bundle, array( 'state' => 'closed' ) );
53+
$milestone = array_reduce(
54+
$milestones,
55+
function ( $tag, $milestone ) {
56+
return version_compare( $milestone->title, $tag, '>' ) ? $milestone->title : $tag;
57+
}
58+
);
59+
$tag = ! empty( $milestone ) ? "v{$milestone}" : 'master';
6260

6361
$composer_lock_url = sprintf( 'https://raw.githubusercontent.com/%s/%s/composer.lock', $bundle, $tag );
6462
WP_CLI::log( 'Fetching ' . $composer_lock_url );

.maintenance/src/Release_Notes_Command.php

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,20 @@ private function get_bundle_release_notes( $source, $format ) {
7777
) as $repo
7878
) {
7979
$milestones = GitHub::get_project_milestones( $repo );
80-
// Cheap way to get the latest milestone
81-
$milestone = array_shift( $milestones );
80+
$milestone = array_reduce(
81+
$milestones,
82+
function ( $latest, $milestone ) {
83+
return version_compare( $milestone->title, $latest, '>' ) ? $milestone : $latest;
84+
}
85+
);
86+
8287
if ( ! $milestone ) {
88+
WP_CLI::debug( "No milestone found for repo '{$repo}'", 'release-notes' );
8389
continue;
8490
}
8591

92+
WP_CLI::debug( "Using milestone '{$milestone->title}' for repo '{$repo}'", 'release-notes' );
93+
8694
WP_CLI::log( $this->repo_heading( $repo, $format ) );
8795

8896
$this->get_repo_release_notes(
@@ -95,21 +103,21 @@ private function get_bundle_release_notes( $source, $format ) {
95103

96104
// Identify all command dependencies and their release notes
97105

98-
// TODO: Bundle repo needs to be switched to `wp-cli/wp-cli-bundle` for next release.
99-
$bundle = 'wp-cli/wp-cli';
106+
$bundle = 'wp-cli/wp-cli-bundle';
100107

101108
$milestones = GitHub::get_project_milestones(
102-
'wp-cli/wp-cli',
109+
$bundle,
103110
array( 'state' => 'closed' )
104111
);
105-
// Cheap way to get the latest closed milestone
106-
$milestone = array_shift( $milestones );
107-
$tag = is_object( $milestone ) ? "v{$milestone->title}" : 'master';
108112

109-
// TODO: Only needed for switch from v1 to v2.
110-
if ( 'wp-cli/wp-cli' === $bundle ) {
111-
$tag = 'v1.5.1';
112-
}
113+
$milestone = array_reduce(
114+
$milestones,
115+
function ( $tag, $milestone ) {
116+
return version_compare( $milestone->title, $tag, '>' ) ? $milestone->title : $tag;
117+
}
118+
);
119+
120+
$tag = ! empty( $milestone ) ? "v{$milestone}" : 'master';
113121

114122
$composer_lock_url = sprintf( 'https://raw.githubusercontent.com/%s/%s/composer.lock',
115123
$bundle, $tag );
@@ -120,11 +128,6 @@ private function get_bundle_release_notes( $source, $format ) {
120128
}
121129
$composer_json = json_decode( $response->body, true );
122130

123-
// TODO: Only need for initial v2.
124-
$composer_json['packages'][] = array(
125-
'name' => 'wp-cli/i18n-command',
126-
'version' => 'v2',
127-
);
128131
usort( $composer_json['packages'], function ( $a, $b ) {
129132
return $a['name'] < $b['name'] ? - 1 : 1;
130133
} );
@@ -213,6 +216,9 @@ private function get_repo_release_notes(
213216

214217
$entries = array();
215218
foreach ( $milestones as $milestone ) {
219+
220+
WP_CLI::debug( "Using milestone '{$milestone->title}' for repo '{$repo}'", 'release-notes' );
221+
216222
switch ( $source ) {
217223
case 'release':
218224
$tag = 0 === strpos( $milestone->title, 'v' )

0 commit comments

Comments
 (0)