Skip to content

Commit

Permalink
Merge pull request OpenDDS#4356 from iguessthislldo/igtd/3.26.1-news-…
Browse files Browse the repository at this point in the history
…sync

Sync 3.26.1 News and Release Script Updates
  • Loading branch information
jrw972 authored Nov 20, 2023
2 parents d3a09ea + 36f95d5 commit f636229
Show file tree
Hide file tree
Showing 12 changed files with 95 additions and 38 deletions.
20 changes: 18 additions & 2 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,28 @@
# OpenDDS Releases

## Version 3.26.1 of OpenDDS

Released 2023-11-14

Download [this release on GitHub](https://github.com/OpenDDS/OpenDDS/releases/tag/DDS-3.26.1).

Read [the documentation for this release on Read the Docs](https://opendds.readthedocs.io/en/dds-3.26.1).

### Fixes

* Building with CMake
* Fixed [Issue #4328](https://github.com/OpenDDS/OpenDDS/issues/4328), where each run of CMake effectively always appended the MPC features to `default.features` in ACE. ([PR #4330](https://github.com/OpenDDS/OpenDDS/pull/4330))

* Fixed a corner case in RTPS ParameterList parsing ([PR #4336](https://github.com/OpenDDS/OpenDDS/pull/4336))
* Reject some types of invalid RTPS DataFrag submessages ([PR #4348](https://github.com/OpenDDS/OpenDDS/pull/4348))

## Version 3.26.0 of OpenDDS

Released 2023-10-23

Download [this release on GitHub](https://github.com/OpenDDS/OpenDDS/releases/tag/DDS-3.26).

Read [the documenation for this release on Read the Docs](https://opendds.readthedocs.io/en/dds-3.26).
Read [the documentation for this release on Read the Docs](https://opendds.readthedocs.io/en/dds-3.26).

### Additions

Expand Down Expand Up @@ -66,7 +82,7 @@ Released 2023-07-20

Download [this release on GitHub](https://github.com/OpenDDS/OpenDDS/releases/tag/DDS-3.25).

Read [the documenation for this release on Read the Docs](https://opendds.readthedocs.io/en/dds-3.25).
Read [the documentation for this release on Read the Docs](https://opendds.readthedocs.io/en/dds-3.25).

### Additions

Expand Down
2 changes: 1 addition & 1 deletion docs/news.d/_releases/v3.24.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Released 2023-04-11

Download :ghrelease:`this release on GitHub <DDS-3.24>`.

Read `the documenation for this release on Read the Docs <https://opendds.readthedocs.io/en/dds-3.24>`__.
Read `the documentation for this release on Read the Docs <https://opendds.readthedocs.io/en/dds-3.24>`__.

Additions
=========
Expand Down
2 changes: 1 addition & 1 deletion docs/news.d/_releases/v3.24.1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Released 2023-04-22

Download :ghrelease:`this release on GitHub <DDS-3.24.1>`.

Read `the documenation for this release on Read the Docs <https://opendds.readthedocs.io/en/dds-3.24.1>`__.
Read `the documentation for this release on Read the Docs <https://opendds.readthedocs.io/en/dds-3.24.1>`__.

Fixes
=====
Expand Down
2 changes: 1 addition & 1 deletion docs/news.d/_releases/v3.24.2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Released 2023-06-30

Download :ghrelease:`this release on GitHub <DDS-3.24.2>`.

Read `the documenation for this release on Read the Docs <https://opendds.readthedocs.io/en/dds-3.24.2>`__.
Read `the documentation for this release on Read the Docs <https://opendds.readthedocs.io/en/dds-3.24.2>`__.

Security
========
Expand Down
2 changes: 1 addition & 1 deletion docs/news.d/_releases/v3.25.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Released 2023-07-20

Download :ghrelease:`this release on GitHub <DDS-3.25>`.

Read `the documenation for this release on Read the Docs <https://opendds.readthedocs.io/en/dds-3.25>`__.
Read `the documentation for this release on Read the Docs <https://opendds.readthedocs.io/en/dds-3.25>`__.

Additions
=========
Expand Down
2 changes: 1 addition & 1 deletion docs/news.d/_releases/v3.26.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Released 2023-10-23

Download :ghrelease:`this release on GitHub <DDS-3.26>`.

Read `the documenation for this release on Read the Docs <https://opendds.readthedocs.io/en/dds-3.26>`__.
Read `the documentation for this release on Read the Docs <https://opendds.readthedocs.io/en/dds-3.26>`__.

Additions
=========
Expand Down
17 changes: 17 additions & 0 deletions docs/news.d/_releases/v3.26.1.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Released 2023-11-14

Download :ghrelease:`this release on GitHub <DDS-3.26.1>`.

Read `the documentation for this release on Read the Docs <https://opendds.readthedocs.io/en/dds-3.26.1>`__.

Fixes
=====

- Building with CMake

- Fixed :ghissue:`4328`, where each run of CMake effectively always appended the MPC features to ``default.features`` in ACE. (:ghpr:`4330`)

- Fixed a corner case in RTPS ParameterList parsing (:ghpr:`4336`)

- Reject some types of invalid RTPS DataFrag submessages (:ghpr:`4348`)

7 changes: 0 additions & 7 deletions docs/news.d/cmake-features.rst

This file was deleted.

6 changes: 0 additions & 6 deletions docs/news.d/rtps-badmsg.rst

This file was deleted.

6 changes: 0 additions & 6 deletions docs/news.d/rtps-parameterlist.rst

This file was deleted.

16 changes: 8 additions & 8 deletions docs/sphinx_extensions/newsd.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ def put(self, level, *args, sep=' ', decorate='', **kw):
print(line, file=self.file, **kw)
self.printed_blank_line = blank

def put_level_seperator(self):
def put_level_separator(self):
if not self.printed_blank_line:
print(file=self.file)
self.printed_blank_line = True
Expand Down Expand Up @@ -181,19 +181,19 @@ def add_text(self, prs, lines, rank=0):
def print(self, h):
if self.empty():
return
h.put_level_seperator()
h.put_level_separator()
if self.level:
if self.level == 1:
h.put(0, self.name)
h.put(0, '=' * len(self.name))
h.put(0, self.rank_str(h))
elif self.level > 1:
h.put(self.level - 1, '-', self.name, decorate=self.rank_str(h))
h.put_level_seperator()
h.put_level_separator()
for child in sorted(self.children):
child.print(h)
if self.level:
h.put_level_seperator()
h.put_level_separator()

def print_all(self, file=sys.stdout):
version_info = VersionInfo()
Expand All @@ -202,7 +202,7 @@ def print_all(self, file=sys.stdout):
print((
'Released {}\n\n' +
'Download :ghrelease:`this release on GitHub <{}>`.\n\n' +
'Read `the documenation for this release on Read the Docs <https://opendds.readthedocs.io/en/{}>`__.'
'Read `the documentation for this release on Read the Docs <https://opendds.readthedocs.io/en/{}>`__.'
).format(today.isoformat(), version_info.tag, version_info.tag.lower()), file=file)
else:
print('This version is currently still in development, so this list might change.', file=file)
Expand All @@ -218,7 +218,7 @@ def print_all(self, file=sys.stdout):
def test_section():
root = Section()
a = root.get_section('Section A')
a.add_text(set([0]), ['- This is some text\n', '- This is a seperate item\n'])
a.add_text(set([0]), ['- This is some text\n', '- This is a separate item\n'])
aa = a.get_section('Section AA')
aa.add_text(set([3]), ['- This is some text\n - This is some more\n'])
aa.add_text(set([1]), ['- This is some text \n - This is some more\n'])
Expand Down Expand Up @@ -249,7 +249,7 @@ def test_section():
[Rank 0]
- This is some text (:ghpr:`0`) [Rank 0]
- This is a seperate item (:ghpr:`0`) [Rank 0]
- This is a separate item (:ghpr:`0`) [Rank 0]
- Section AA [Rank 0]
Expand Down Expand Up @@ -321,7 +321,7 @@ def parse(root, path):
prs = set([int(pr) for pr in arg.split(' ')])
except ValueError:
raise ParseError(loc,
'news-prs must be space seperated PR numbers or just "none"')
'news-prs must be space-separated PR numbers or just "none"')
seen_prs = True
elif name == 'start-section':
if not seen_prs:
Expand Down
51 changes: 47 additions & 4 deletions tools/scripts/gitrelease.pl
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,24 @@ sub get_version_line {
return $line;
}

sub git_tag {
my $version = shift();

return "${git_name_prefix}$version->{tag_string}";
}

sub get_rtd_link {
my $settings = shift();
my $post_release = shift() // 0;

return "$rtd_url/en/" . ($post_release ? 'latest-release' : lc($settings->{git_tag}));
my $last_tag = 'lastest-release';
if ($settings->{micro}) {
my $v = $settings->{parsed_version};
my $last_micro = $v->{micro} - 1;
$last_tag = lc(git_tag(parse_version("$v->{major}.$v->{minor}.$last_micro")));
}

return "$rtd_url/en/" . ($post_release ? $last_tag : lc($settings->{git_tag})) . "/";
}

sub usage {
Expand Down Expand Up @@ -159,6 +172,7 @@ sub help {
" This doesn't run any release steps or require the\n" .
" WORKSPACE or VERSION arguments, but does require the\n" .
" GITHUB_TOKEN environment variable\n" .
" --cherry-pick-prs PR.. Use git cherry-pick from the given GitHub PRs.\n" .
"\n" .
"Environment Variables:\n" .
" GITHUB_TOKEN GitHub token with repo access to publish release on\n" .
Expand Down Expand Up @@ -911,6 +925,27 @@ sub upload_shapes_demo {
"\nGithub upload failed, try again");
}

sub cherry_pick_prs {
my $settings = shift();
if (scalar(@_) == 0) {
arg_error("Expecting PR arguments");
}

my $ph = Pithub->new(
user => $settings->{github_user},
repo => $settings->{github_repo},
);

foreach my $prnum (@_) {
print("Cherry picking PR #$prnum\n");
my $result = $ph->pull_requests->commits(pull_request_id => $prnum);
check_pithub_result($result);
my $first_commit = $result->content->[0]->{sha};
my $last_commit = $result->content->[-1]->{sha};
run_command(['git', 'cherry-pick', "$first_commit^..$last_commit"], autodie => 1)
}
}

my $step_subexpr_re = qr/(\^?)(\d*)(-?)(\d*)/;
my $step_expr_re = qr/^${step_subexpr_re}(,${step_subexpr_re})*$/;

Expand Down Expand Up @@ -2918,6 +2953,7 @@ sub remedy_release_occurred_flag {
my $upload_shapes_demo = 0;
my $update_authors = 0;
my $update_ace_tao = 0;
my $cherry_pick_prs = 0;

GetOptions(
'help' => \$print_help,
Expand All @@ -2943,6 +2979,7 @@ sub remedy_release_occurred_flag {
'upload-shapes-demo' => \$upload_shapes_demo,
'update-authors' => \$update_authors,
'update-ace-tao' => \$update_ace_tao,
'cherry-pick-prs' => \$cherry_pick_prs,
) or arg_error("Invalid option");

if ($print_help) {
Expand All @@ -2968,7 +3005,7 @@ sub remedy_release_occurred_flag {
my $base_name = "";
my $release_branch = "";

my $ignore_args = $update_authors || $print_list_all || $update_ace_tao;
my $ignore_args = $update_authors || $print_list_all || $update_ace_tao || $cherry_pick_prs;
if ($ignore_args) {
$parsed_version = $zero_version;
$parsed_next_version = $zero_version;
Expand Down Expand Up @@ -3056,7 +3093,7 @@ sub remedy_release_occurred_flag {
next_version => $next_version,
parsed_next_version => $parsed_next_version,
base_name => $base_name,
git_tag => "${git_name_prefix}$parsed_version->{tag_string}",
git_tag => git_tag($parsed_version),
tgz_worktree => "$workspace/tgz/${base_name}",
zip_worktree => "$workspace/zip/${base_name}",
doxygen_dir => $doxygen_dir,
Expand Down Expand Up @@ -3365,6 +3402,9 @@ sub remedy_release_occurred_flag {
},
message => sub{message_update_readme_file(@_, 1)},
remedy => sub{remedy_update_readme_file(@_, 1)},
# Otherwise this would revert the README to the last micro version and it
# doesn't make sense for it to be latest-release, so just leave it.
skip => $global_settings{micro},
can_force => 1,
post_release => 1,
},
Expand Down Expand Up @@ -3547,7 +3587,7 @@ sub run_step {
$step->{verified} = 1;
}

my $alt = $upload_shapes_demo || $update_authors;
my $alt = $upload_shapes_demo || $update_authors || $cherry_pick_prs;
if ($upload_shapes_demo) {
upload_shapes_demo(\%global_settings);
}
Expand All @@ -3557,6 +3597,9 @@ sub run_step {
elsif ($update_ace_tao) {
update_ace_tao(\%global_settings);
}
elsif ($cherry_pick_prs) {
cherry_pick_prs(\%global_settings, map { int($_) } @ARGV);
}
elsif (!$alt && ($ignore_args || ($workspace && $parsed_version))) {
my @steps_to_do;
my $no_steps = scalar(@release_steps);
Expand Down

0 comments on commit f636229

Please sign in to comment.